![]() |
![]() |
![]() |
Unblock signals
#include <unix.h> int sigunblock( int mask );
libc
The sigunblock() function removes the signals specified in mask from the set of signals currently being blocked from delivery. Signals are unblocked if the appropriate bit in mask is a 1; the macro sigmask() is provided to construct the mask for a given signum. The sigunblock() returns the previous mask. The previous mask may be restored using sigsetmask().
In normal usage, a signal is blocked using sigblock(). To begin a critical section, variables modified on the occurrence of the signal are examined to determine that there is no work to be done, and the process pauses awaiting work by using sigpause() with the mask returned by sigblock().
It isn't possible to block SIGKILL, SIGSTOP, or SIGCONT; this restriction is silently imposed by the system.
The previous set of masked signals.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
Use of these interfaces should be restricted to only applications written on BSD platforms. Use of these interfaces with any of the system libraries or in multithreaded applications is unsupported.
kill(), sigaction(), sigblock(), sigmask(), signal(), sigpause(), sigprocmask(), sigsetmask()
![]() |
![]() |
![]() |