NAME
sigblock — block signals
SYNOPSIS
#include <signal.h>
long sigblock(long mask);
DESCRIPTION
sigblock()
causes the signals specified in
mask
to be added to the set of signals currently being blocked from delivery.
Signal
i
is blocked if the
i-th
bit in
mask
is
1,
as specified with the macro
sigmask(i).
It is not possible to block signals that cannot be ignored,
as documented in
signal(5);
this restriction is silently imposed by the system.
Use
sigsetmask()
to set the mask absolutely (see
sigsetmask(2)).
RETURN VALUE
sigblock()
returns the previous set of masked signals.
EXAMPLES
The following call to
sigblock()
adds the
SIGUSR1
and
SIGUSR2
signals to the mask of signals currently blocked for the process:
long oldmask;
oldmask = sigblock (sigmask (SIGUSR1) | sigmask (SIGUSR2));
WARNINGS
Do not use
sigblock()
in conjunction with the facilities described under
sigset(3C).
APPLICATION USAGE
Threads Considerations
Since each thread maintains its own blocked signal mask,
sigblock()
modifies only the calling thread's blocked signal mask.
For more information regarding signals and threads, refer to
signal(5).
LP64 Programs
sigblock()
accepts and returns long (64 bit) values. However, as for ILP32
programs,
sigblock()
supports signals numbered 1 through 32. The upper 32 bits of the mask
argument are ignored. Also, the upper 32 bits of the returned mask
have no meaning.
AUTHOR
sigblock()
was developed by the University of California, Berkeley.