Unix for Beginners
Unix Shell Programming
Unix Useful References
Unix Useful Resources
Copyright © 2014 by tutorialspoint
sigprocmask() - Unix, Linux System Call
sigprocmask - examine and change blocked signals
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.
The set of blocked signals is the union of the current set and the
The signals in
set are removed from the current set of blocked signals. It is legal to
attempt to unblock a signal which is not blocked.
The set of blocked signals is set to the argument
oldset is non-null, the previous value of the signal mask is stored in
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
sigprocmask() returns 0 on success and -1 on error.
EINVAL The value specified in
how was invalid.
It is not possible to block
SIGKILL or SIGSTOP. Attempts to do so are silently ignored.
SIGBUS, SIGFPE, SIGILL, or
SIGSEGV are generated
while they are blocked, the result is undefined,
unless the signal was generated by the
for details on manipulating signal sets.