signal.5 (2010 09)
s
signal(5) signal(5)
SIGEV_SIGNAL The signal specified in sigev_signo will be generated for the process when
the event of interest occurs. If SA_SIGINFO
is set for that signal
number, then the signal will be queued to the process, and the value
specified in sigev_value will be the sigev_value component of the gen-
erated signal. If
SA_SIGINFO is not set for that signal number, it is
unspecified whether the signal is queued, and what value, if any, is sent.
The sigev_signo member specifies the signal to be generated. The sigev_value member is the application-
defined value to be passed to the signal-catching function at the time of the signal delivery or to be
returned at signal acceptance as the si_value member of the siginfo_t structure.
The
<signal.h> header defines sigval
as a union that includes at least the following members:
int sival_int Integer signal value
void * sival_ptr Pointer signal value.
The
<signal.h> header defines the siginfo_t
type as a structure that includes at least the following
members:
int si_signo signal number
if non-zero, an
errno value
associated with this signal, as
defined in <errno.h>
int si_errno
int si_code signal code
union sigval si_value signal value
id_t si_pid sending process ID
uid_t si_uid real user ID of sending process
void *si_addr address of faulting instruction
int si_status exit value or signal
long si_band band event for SIGPOLL
The si_code member contains a code identifying the cause of the signal. The following values are defined
for si_code :
SI_USER The signal was sent by kill(). The si_code may be set to SI_USER
also if the signal was sent by raise() (see kill(2)) or similar func-
tions that are provided as implementation extensions of
kill().
SI_QUEUE The signal was sent by sigqueue().
SI_TIMER The signal was generated by the expiration of a timer set by
timer_settime().
SI_ASYNCIO The signal was generated by the completion of an asynchronous I/O
request.
SI_MESGQ The signal was generated by the arrival of a message on an empty mes-
sage queue.
If the signal was not generated by one of the functions or events listed above (such as
kill(),
raise(), sigqueue(), and other functions), the si_code will be set to an implementation-defined
value (see the Code column below) that is not equal to any of the values defined above for si_code.
If si_code is one of
SI_QUEUE, SI_TIMER, SI_ASYNCIO,orSI_MESGQ, then si_value will contain the
application-specified signal value. Otherwise, the contents of si_value are undefined.
The macros specified in the Code column of the following table are defined for use as values of si_code
that are signal-specific reasons why the signal was generated.
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
4 Hewlett-Packard Company − 4 − HP-UX 11i Version 3: September 2010