sigset(3C)sigset(3C)NAMEsigset(), sighold(), sigrelse(), sigignore() - signal management
The system defines a set of signals that can be delivered to a process.
The set of signals is defined in signal(5), along with the meaning and
side effects of each signal. An alternate mechanism for handling these
signals is defined here. The facilities described here should not be
used in conjunction with the other facilities described under signal(2)
allows the calling process to choose one of four ways to handle the
receipt of a specific signal. sig specifies the signal and func speci‐
fies the action handler.
sig can be any one of the signals described under signal(5) except or
func is assigned one of four values: or a function address. The
actions prescribed by and are described under signal(5). The action
prescribed by and function address are described below:
The signal sig is held upon receipt. Any pending
signal of this signal type remains held. Only one
signal of each type is held.
Note: the signals and cannot be held.
function address Catch signal.
func must be a pointer to a function, the signal-
catching handler, that is called when signal sig
occurs. specifies that the process calls this func‐
tion upon receipt of signal sig. Any pending signal
of this type is released. This handler address is
retained across calls to the other signal management
functions listed here. Upon receipt of signal sig,
the receiving process executes the signal-catching
function pointed to by func as described under sig‐
nal(5) with the following differences:
Before calling the signal-catching handler, the
defined action of sig is set to During a normal
return from the signal-catching handler, the defined
action is restored to func and any held signal of
this type is released. If a non-local goto
(longjmp(3C)) is taken, must be called to restore the
defined action to func and release any held signal of
holds the signal sig. restores the defined action of sig to that spec‐
ified previously by and are used to establish critical regions of code.
is analogous to raising the priority level and deferring or holding a
signal until the priority is lowered by
sets the action for signal sig to (see signal(5)).
Upon successful completion, returns the previous value of the defined
action for the specified signal sig. Otherwise, a value of is returned
and is set to indicate the error. is defined in
For the other functions, a 0 value indicates that the call succeeded.
A -1 return value indicates an error occurred and is set to indicate
fails and the defined action for sig is not changed if any of the fol‐
The func argument points to memory that is not a
valid part of the process address space. Reli‐
able detection of this error is implementation
and and fail and the defined action for sig is not changed if any of
the following occur:
sig is not a valid signal number.
An attempt is made to ignore, hold, or supply a handler
for a signal that cannot be ignored, held, or
caught; see signal(5).
These signal facilities should not be used in conjunction with sig‐
nal(2) and sigspace(2).
SEE ALSOkill(1), kill(2), pause(2), signal(2), sigspace(2), wait(2), abort(3C),
setjmp(3C), sigpause(3C), signal(5).