Lines Matching refs:si

645 report_exit(struct trussinfo *info, siginfo_t *si)  in report_exit()  argument
652 if (si->si_code == CLD_EXITED) in report_exit()
654 si->si_status); in report_exit()
657 si->si_status, si->si_code == CLD_DUMPED ? in report_exit()
674 decode_siginfo(FILE *fp, siginfo_t *si) in decode_siginfo() argument
679 str = sysdecode_sigcode(si->si_signo, si->si_code); in decode_siginfo()
681 fprintf(fp, "%d", si->si_code); in decode_siginfo()
684 switch (si->si_code) { in decode_siginfo()
688 fprintf(fp, " value=%p", si->si_value.sival_ptr); in decode_siginfo()
692 fprintf(fp, " pid=%jd uid=%jd", (intmax_t)si->si_pid, in decode_siginfo()
693 (intmax_t)si->si_uid); in decode_siginfo()
696 fprintf(fp, " value=%p", si->si_value.sival_ptr); in decode_siginfo()
697 fprintf(fp, " timerid=%d", si->si_timerid); in decode_siginfo()
698 fprintf(fp, " overrun=%d", si->si_overrun); in decode_siginfo()
699 if (si->si_errno != 0) in decode_siginfo()
700 fprintf(fp, " errno=%d", si->si_errno); in decode_siginfo()
703 fprintf(fp, " value=%p", si->si_value.sival_ptr); in decode_siginfo()
706 fprintf(fp, " value=%p", si->si_value.sival_ptr); in decode_siginfo()
707 fprintf(fp, " mqd=%d", si->si_mqd); in decode_siginfo()
710 switch (si->si_signo) { in decode_siginfo()
715 fprintf(fp, " trapno=%d", si->si_trapno); in decode_siginfo()
716 fprintf(fp, " addr=%p", si->si_addr); in decode_siginfo()
719 fprintf(fp, " pid=%jd uid=%jd", (intmax_t)si->si_pid, in decode_siginfo()
720 (intmax_t)si->si_uid); in decode_siginfo()
721 fprintf(fp, " status=%d", si->si_status); in decode_siginfo()
728 report_signal(struct trussinfo *info, siginfo_t *si, struct ptrace_lwpinfo *pl) in report_signal() argument
736 signame = sysdecode_signal(si->si_status); in report_signal()
739 fprintf(info->outfile, "SIGNAL %u (%s)", si->si_status, signame); in report_signal()
754 siginfo_t si; in eventloop() local
763 if (waitid(P_ALL, 0, &si, WTRAPPED | WEXITED) == -1) { in eventloop()
769 assert(si.si_signo == SIGCHLD); in eventloop()
771 switch (si.si_code) { in eventloop()
775 find_exit_thread(info, si.si_pid); in eventloop()
777 if (si.si_code == CLD_EXITED) in eventloop()
779 report_exit(info, &si); in eventloop()
785 if (ptrace(PT_LWPINFO, si.si_pid, (caddr_t)&pl, in eventloop()
790 new_proc(info, si.si_pid, pl.pl_lwpid); in eventloop()
794 new_thread(find_proc(info, si.si_pid), in eventloop()
796 find_thread(info, si.si_pid, pl.pl_lwpid); in eventloop()
798 if (si.si_status == SIGTRAP && in eventloop()
820 report_signal(info, &si, &pl); in eventloop()
821 pending_signal = si.si_status; in eventloop()
823 ptrace(PT_SYSCALL, si.si_pid, (caddr_t)1, in eventloop()