SIGBLOCK(3) | Library Functions Manual | SIGBLOCK(3) |
sigblock() adds the signals specified in mask to the set of signals currently being blocked from delivery. Signals are blocked if the corresponding bit in mask is a 1; the macro sigmask() is provided to construct the mask for a given signum.
It is not possible to block SIGKILL or SIGSTOP; this restriction is silently imposed by the system.
int omask; omask = sigblock(sigmask(SIGINT) | sigmask(SIGHUP));
Becomes:
sigset_t set, oset; sigemptyset(&set); sigaddset(&set, SIGINT); sigaddset(&set, SIGHUP); sigprocmask(SIG_BLOCK, &set, &oset);
Another use of sigblock() is to get the current set of masked signals without changing what is actually blocked. Instead of:
int set; set = sigblock(0);
Use the following:
sigset_t set; sigprocmask(SIG_BLOCK, NULL, &set);
August 10, 2002 | NetBSD 6.1 |