sigprocmask — examine and change blocked signals
#include <signal.h>
int
sigprocmask( |
int | how, |
| const sigset_t * | set, | |
| sigset_t * | oldset); |
sigprocmask() is used to
change the signal mask, the set of currently blocked signals.
The behaviour of the call is dependent on the value of
how, as follows.
SIG_BLOCKThe set of blocked signals is the union of the current set and the
setargument.SIG_UNBLOCKThe signals in
setare removed from the current set of blocked signals. It is legal to attempt to unblock a signal which is not blocked.SIG_SETMASKThe set of blocked signals is set to the argument
set.
If oldset is
non−null, the previous value of the signal mask is
stored in oldset.
If set is NULL,
then the signal mask is unchanged (i.e., how is ignored), but the
current value of the signal mask is nevertheless returned in
oldset (it is not
NULL).
The use of sigprocmask() is
unspecified in a multithreaded process; see pthread_sigmask(3).
It is not possible to block SIGKILL or SIGSTOP. Attempts to do so are silently
ignored.
If SIGBUS, SIGFPE, SIGILL, or SIGSEGV are generated while they are
blocked, the result is undefined, unless the signal was
generated by the kill(2), sigqueue(2), or raise(3).
See sigsetops(3) for details on manipulating signal sets.
kill(2), pause(2), sigaction(2), signal(2), sigpending(2), sigprocmask(2), sigqueue(2), sigsuspend(2), pthread_sigmask(3), sigsetops(3), signal(7)
|
|