NAME
sigsetmask — set current signal mask
SYNOPSIS
#include <signal.h>
long sigsetmask(long mask);
DESCRIPTION
sigsetmask()
sets the current signal mask
(those signals that are blocked from delivery).
Signal
i
is blocked if the
i-th
bit in
mask,
as specified with the macro
sigmask(i),
is a
1.
It is not possible to mask signals that cannot be ignored,
as documented in
signal(5);
this restriction is silently imposed by the system.
sigblock()
can be used to add elements to the set of blocked signals.
RETURN VALUE
The previous set of masked signals is returned.
EXAMPLES
The following call to
sigsetmask()
causes only the
SIGUSR1
and
SIGUSR2
signals to be blocked:
long oldmask;
oldmask = sigsetmask (sigmask (SIGUSR1) | sigmask (SIGUSR2));
WARNINGS
Do not use
sigsetmask()
in conjunction with the facilities described under
sigset(3C).
APPLICATION USAGE
Threads Considerations
Since each thread maintains its own blocked signal mask,
sigsetmask()
modifies only the calling thread's blocked signal mask.
For more information regarding signals and threads, refer to
signal(5).
LWP (Lightweight Processes) Considerations
sigsetmask()
modifies only the calling LWP's blocked signal mask.
LP64 Programs
sigsetmask()
accepts and returns long (64 bit) values. However, as for ILP32
programs,
sigsetmask()
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
sigsetmask()
was developed by the University of California, Berkeley.