SIGSETMASK(2) System Calls SIGSETMASK(2)
sigsetmask - set signal mask
long sigsetmask(long mask);
sigsetmask is usually used to restore signal masks after modifications
by sigblock. The parameter mask is the absolute value to which the
process signal mask will be set. (Compare to sigblock, which adds the
argument to the set of blocked signals.)
If there are pending instances of signals which become unblocked by the
sigsetmask call, they are 'released' into the system signal queue and
their 'pending' status is cleared. The system signal queue is main-
tained by the kernel null process, and is used in situations where sig-
nals could not normally be sent (such as in interrupt handlers).
sigmask is a macro that can be used to calculate signal masks for
sigsetmask. It takes a signal number, as listed in signal(2), as an
argument and returns a mask corresponding to that signal.
The previous value of the signal mask is returned from sigsetmask.
If somehow the process re-blocks a signal released by sigsetmask before
the system signal queue processes it, it will be blocked and marked as
pending. This can happen if a signal handler makes a sigblock call.
kill(2), sigblock(2), signal(2)
GNO 19 January 1997 SIGSETMASK(2)
Man(1) output converted with