SIGPROCMASK(2P) SIGPROCMASK(2P)
NAME
sigprocmask - examine and change blocked signals
SYNOPSIS
#include <signal.h>
int sigprocmask(how,set,oset)
int how;
sigsett *set, *oset;
DESCRIPTION
sigprocmask allows the calling process to examine or change
its signal mask. If the value of set is not NULL, it points
to a set of signals to be used to change the currently
blocked set.
The value of how indicated the manner in which the set is
changed. The permitted values for how are:
SIGBLOCK The resulting set will be the union of the
current set and the signal set pointed to by
set.
SIGUNBLOCK The resulting set will be the intersection of
the current set and the complement of the
signal set pointed to by set.
SIGSETMASK The resulting set will be the signal set
pointed to by set.
If oset is not NULL, the previous mask is stored at the
location pointed to by set. If the value of set is NULL,
the value of how is ignored and the process's signal mask is
unchanged. When set is NULL, sigprocmask can be used to
enquire about currently blocked signals.
If there are any pending unblocked signals after the call to
sigprocmask, at least one of those signals will be delivered
before sigprocmask returns.
Page 1 May 1989
SIGPROCMASK(2P) SIGPROCMASK(2P)
SIGKILL and SIGSTOP cannot be caught or ignored. SIGCONT
cannot be ignored. It is not possible to block these
signals. This is silently enforced.
RETURN VALUE
Upon successful completion, zero is returned. Otherwise, -1
is returned and errno is set to indicate the error. If oset
contains a valid address, its contents will contain the
previous signal mask.
ERRORS
If the following condition occurs, sigprocmask will return
-1 and set errno to the corresponding value:
[EINVAL] The value of how is invalid.
[EFAULT] set or oset point to an invalid address.
SEE ALSO
sigaction(2), sigpending(2), sigsetops(3P), sigsuspend(2).
Page 2 May 1989