*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> siginfo (5)              


siginfo(5)							    siginfo(5)

NAME    [Toc]    [Back]

     siginfo - signal generation information

SYNOPSIS    [Toc]    [Back]

     #include <siginfo.h>

DESCRIPTION    [Toc]    [Back]

     If	a process is catching a	signal,	it may request information that	tells
     why the system generated that signal (see sigaction(2)).  If a process is
     monitoring	its children, it may receive information that tells why	a
     child changed state (see waitid(2)).  In either case, the system returns
     the information in	a structure of type siginfo_t, which includes the
     following information:

     int si_signo    /*	signal number */
     int si_errno    /*	error number */
     int si_code     /*	signal code */

     si_signo contains the system-generated signal number.  (For the waitid(2)
     function, si_signo	is always SIGCHLD.)

     If	si_errno is non-zero, it contains an error number associated with this
     signal, as	defined	in errno.h.

     si_code contains a	code identifying the cause of the signal.  If the
     value of si_code is less than or equal to 0, then the signal was
     generated either by a user	process	or on behalf of	a user initiated
     service.  In this case si_code defines which service initiated the
     request and determines what (if any) additional information is included
     in	the siginfo structure.	The following are the possible user initiated
     si_code values:

     SI_USER	 The signal was	generated via kill(2) or sigsend(2).  The
		 siginfo structure contains the	following additional

		 pid_t si_pid	/* sending process ID */
		 uid_t si_uid	/* sending user	ID */

     SI_QUEUE	 The signal was	generated via sigqueue(3).  The	siginfo
		 structure contains the	following additional information:

		 pid_t si_pid	/* sending process ID */
		 uid_t si_uid	/* sending user	ID */
		 union sigval si_value;	/* value sent via sigqueue */

     Otherwise,	si_code	contains a signal-specific reason why the signal was
     generated,	as follows:

									Page 1

siginfo(5)							    siginfo(5)

     Signal    Code	       Reason
     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 operation
	       FPE_FLTSUB      subscript out of	range
     SIGSEGV   SEGV_MAPERR     address not mapped to object
	       SEGV_ACCERR     invalid permissions for mapped object

     SIGBUS    BUS_ADRALN      invalid address alignment
	       BUS_ADRERR      non-existent physical address
	       BUS_OBJERR      object specific hardware	error
     SIGTRAP   TRAP_BRKPT      process breakpoint
	       TRAP_TRACE      process trace trap

     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 had continued
     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

     In	addition, the following	signal-dependent information is	available for
     kernel-generated signals:

     Signal	    Field			Value

									Page 2

siginfo(5)							    siginfo(5)

     SIGILL    caddr_t si_addr	 address of faulting instruction
     SIGSEGV   caddr_t si_addr	 address of faulting memory 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

SEE ALSO    [Toc]    [Back]

     kill(2), sigaction(2), sigqueue(2), sigsend(2), waitid(2),	signal(5)

NOTES    [Toc]    [Back]

     For SIGCHLD signals, if si_code is	equal to CLD_EXITED, then si_status is
     equal to the exit value of	the process; otherwise,	it is equal to the
     signal that caused	the process to change state.  For some
     implementations, the exact	value of si_addr may not be available; in that
     case, si_addr is guaranteed to be on the same page	as the faulting
     instruction or memory reference.

									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
siginfo Tru64 Details of signal generation
dnssec-keygen HP-UX key generation tool for DNSSEC
rndc-confgen HP-UX rndc key generation tool
rndc-confgen OpenBSD rndc key generation tool
pxfsigismember IRIX Determines if the specified signal is a member of the specified signal set
pxfsigdelset IRIX Deletes an individual signal in the specified signal set
pxfsigaddset IRIX Adds an individual signal to the specified signal set
glTexGeni Tru64 control the generation of texture coordinates
glTexGendv Tru64 control the generation of texture coordinates
glTexGend Tru64 control the generation of texture coordinates
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service