Manual page for sigprocmask(2)
sigprocmask - change and/or examine caller's signal mask
SYNOPSIS
#include <signal.h>
int sigprocmask(int how,
const sigset_t *set,
sigset_t *oset);
MT-LEVEL
Async-Signal-Safe
DESCRIPTION
The
sigprocmask()
function is used to examine and/or change the
caller's signal mask.
If the value is SIG_BLOCK,
the set pointed to by the argument set is added to the
current signal mask.
If the value is SIG_UNBLOCK, the set pointed
by the argument set is removed from the current signal mask.
If the value is SIG_SETMASK, the current signal mask is
replaced by the set pointed 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 how is not significant
and the caller's signal mask is unchanged; thus, the call can be used
to inquire 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 the call to
sigprocmask()
returns.
It is not possible to block those signals that cannot be ignored
(see
sigaction.2
this restriction is silently
imposed by the system.
If
sigprocmask()
fails, the caller's signal
mask is not changed.
RETURN VALUES
On success,
sigprocmask()
returns zero.
On failure, it returns -1 and sets
errno
to indicate the error.
ERRORS
sigprocmask()
fails if any of the following is true:
- EFAULT
-
set or oset
points to an illegal address.
- EINVAL
-
The value of the how argument is not equal to one of the defined values.
SEE ALSO
sigaction.2
signal.3c
sigsetops.3c
signal.5
NOTES
The language in the main body above should indicate that in a multi-threaded
program, the call to
sigpromask()
impacts only the calling thread's signal mask.
Hence, it is identical to a call to
thr_sigsetmask.3t
in a multi-threaded program.
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97