SIGPROCMASK(2P)SIGPROCMASK(2P)NAMEsigprocmask - (POSIX only) examine or change the signal mask of the
calling process.
SYNOPSIS
#include <signal.h>
sigprocmask(int how, const sigset_t *set, sigset_t *oset);
DESCRIPTION
The information in this specification applies only to POSIX
applications.
The sigprocmask function is used to examine or change (or both) the
signal mask of the calling process. If the value of the argument set is
not NULL, it points to a set of signals to be used to change the
currently blocked set.
The value of the argument how indicates the manner in which the set is
changed. The following values are accepted:
SIG_BLOCK The resulting set shall be the union of the current set
and the signal set pointed to by the argument set.
SIG_UNBLOCK The resulting set shall be the intersection of the
current set and the complement of the signal set pointed
to by the argument set.
SIG_SETMASK The resulting set shall be the signal set ponted to by
the argument set.
If the argument oset is not NULL, the previous mask is stored in the
space pointed to by oset. If the value of the argument set is NULL,
the value of the argument how is not significant and the signal mask of
the process is unchanged.
If there are any pending unblocked signals after the call to
sigprocmask at least one of those signals shall be delivered before
sigprocmask returns.
It is not possible to block the SIGKILL and SIGSTOP signals.
RETURN VALUE
Upon successful completion a value of zero is returned. Otherwise, a
value of -1 is returned and errno is set to indicate the error.
ERRORS
[EINVAL] The value of the how argument is not equal to one of the
defined values.
SEE ALSOsigaction(2P), sigpending(2P), sigsuspend(2P), sigsetops(3P)4th Berkeley Distribution August 1, 1992 SIGPROCMASK(2P)