Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

siginfo(5) [osf1 man page]

siginfo(5)							File Formats Manual							siginfo(5)

NAME
siginfo - Details of signal generation SYNOPSIS
#include <siginfo.h> DESCRIPTION
The siginfo structure provides processes with information on why a signal was generated, or a process that is monitoring child processes may receive information that specifies why a child process changed state. See the sigaction(2) and waitid(2) reference pages for more information. The type siginfo_t contains the following members: Contains the system generated signal number. Note that for the waitid function, this field is always SIGCHLD. Contains, if non-zero, the errno that is associated with the signal. Specifies a code that determines whether the signal was generated by a user process, a specific signal, or by the kernel. When the value of si_code is less than or equal to zero (0), the signal was generated by a user process and the siginfo structure contains the following additional members: pid_t si_pid /*sending process ID*/ uid_t si_uid /*sending user ID*/ See the kill(2) and sigsend(2) reference pages for more information on these fields. The following table describes the meaning of the code generated by a signal. The table lists signals in alphabetical order. ---------------------------------------------------------- Signal Code Definition ---------------------------------------------------------- SIGBUS BUS_ADRALN invalid address alignment BUS_ADRERR non-existent physical address BUS_OBJERR object specific hardware error SIGCHLD CLD_EXITED child has exited CLD_KILLED child was killed CLD_DUMPED child terminated abnormally CLD_TRAPPED traced child has trapped CLD_STOPPED child has stopped CLD_CONTINUED stopped child has continued CLD_SIGEXITING child is about to exit because it received a fatal signal SIGILL ILL_ILLOPC illegal opcode ILL_ILLOPN illegal operand ILL_ILLADR illegal addressing mode ILL_ILLTRP illegal trap ILL_PRVOPC privileged opcode ILL_PRVREG privileged register ILL_COPROC coprocessor error ILL_BADSTK internal stack error SIGFPE FPE_INTDIV integer divide by zero FPE_INTOVF integer overflow FPE_FLTDIV floating point divide by zero FPE_FLTOVF floating point overflow FPE_FLTUND floating point underflow FPE_FLTRES floating point inexact result FPE_FLTINV invalid floating point opera- tion FPE_FLTSUB subscript out of range SIGPOLL POLL_IN data input available POLL_OUT output buffers available POLL_MSG input message available POLL_ERR I/O error POLL_PRI high priority input available POLL_HUP device disconnected SIGSEGV SEGV_MAPERR address not mapped to object SEGV_ACCERR invalid permissions for mapped object SIGTRAP TRAP_BRKPT process breakpoint TRAP_TRACE process trace trap ---------------------------------------------------------- When a signal is generated by the system, the meaning of the code is as follows: ------------------------------------------------------------ Signal Field Description ------------------------------------------------------------ SIGILL caddr_t si_addr address of faulting instruction SIGFPE SIGSEGV caddr_t si_addr address of faulting memory SIGBUS reference SIGCHLD pid_t si_pid child process ID int si_status exit value or signal SIGPOLL long si_band band event for POLL_IN, POLL_OUT, or POLL_MSG ------------------------------------------------------------ Note, if the signal is SIGCHLD, and the si_code is equivalent to CLD_EXITED, si_status is equivalent to the exit value of the process. If si_code is not equivalent to CLD_EXITED, the si_status field is equivalent to the signal that caused the process to change state. In some instances, si_addr may not be defined, but si_addr will appear on the same page as the faulting instruction or memory reference. SEE ALSO
Functions: kill(2), sigaction(2), sigsend(2), waitid(2) Files: signal(4) siginfo(5)
Man Page