Home The GNU C Library www.imodulo.com · 2003-04-05
Imodulo

Blocking in BSD

[ Up: BSD Signal Handling ]
[ Previous: BSD Handler ]

BSD Functions for Blocking Signals

- Macro: int sigmask (int signum)

This macro returns a signal mask that has the bit for signal signum set. You can bitwise-OR the results of several calls to sigmask together to specify more than one signal. For example,

(sigmask (SIGTSTP) | sigmask (SIGSTOP)
 | sigmask (SIGTTIN) | sigmask (SIGTTOU))

specifies a mask that includes all the job-control stop signals.

- Function: int sigblock (int mask)

This function is equivalent to sigprocmask (Process Signal Mask) with a how argument of SIG_BLOCK: it adds the signals specified by mask to the calling process's set of blocked signals. The return value is the previous set of blocked signals.

- Function: int sigsetmask (int mask)

This function equivalent to sigprocmask (Process Signal Mask) with a how argument of SIG_SETMASK: it sets the calling process's signal mask to mask. The return value is the previous set of blocked signals.

- Function: int sigpause (int mask)

This function is the equivalent of sigsuspend (Waiting for a Signal): it sets the calling process's signal mask to mask, and waits for a signal to arrive. On return the previous set of blocked signals is restored.