HP-UX Reference (11i v3 07/02) - 5 Miscellaneous Topics (vol 9)
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 generated 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 nonzero, 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 functions 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 message
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
474 Hewlett-Packard Company − 4 − HP-UX 11i Version 3: February 2007