sigprocmask, rt_sigprocmask - examine and change blocked signals
#include <signal.h>
/* Prototype for the glibc wrapper function */
int sigprocmask(int how, const sigset_t *_Nullable restrict set,
sigset_t *_Nullable restrict oldset);
#include <signal.h> /* Definition of SIG_* constants */
#include <sys/syscall.h> /* Definition of SYS_* constants */
#include <unistd.h>
/* Prototype for the underlying system call */
int syscall(SYS_rt_sigprocmask, int how,
const kernel_sigset_t *_Nullable set,
kernel_sigset_t *_Nullable oldset,
size_t sigsetsize);
/* Prototype for the legacy system call */
[[deprecated]] int syscall(SYS_sigprocmask, int how,
const old_kernel_sigset_t *_Nullable set,
old_kernel_sigset_t *_Nullable oldset);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
sigprocmask() is used to fetch and/or change the signal mask of the calling thread. The signal mask is the set of signals whose delivery is currently blocked for the caller (see also signal(7) for more details).
The behavior 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
set
argument.
The signals in set
are removed from the current set of
blocked signals. It is permissible to attempt to unblock a signal which
is not blocked.
The 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
(if it is not NULL).
A set of functions for modifying and inspecting variables of type
sigset_t
("signal sets") is described in
sigsetops(3).
The use of sigprocmask() is unspecified in a multithreaded process; see pthread_sigmask(3).
sigprocmask() returns 0 on success. On failure, -1
is returned and errno
is set to indicate the error.
kill(2), pause(2), sigaction(2), signal(2), sigpending(2), sigsuspend(2), pthread_sigmask(3), sigqueue(3), sigsetops(3), signal(7)