Blocking Signals (The GNU C Library) (original) (raw)
Next: Waiting for a Signal, Previous: Generating Signals, Up: Signal Handling [Contents][Index]
24.7 Blocking Signals
Blocking a signal means telling the operating system to hold it and deliver it later. Generally, a program does not block signals indefinitely—it might as well ignore them by setting their actions toSIG_IGN
. But it is useful to block signals briefly, to prevent them from interrupting sensitive operations. For instance:
- You can use the
sigprocmask
function to block signals while you modify global variables that are also modified by the handlers for these signals. - You can set
sa_mask
in yoursigaction
call to block certain signals while a particular signal handler runs. This way, the signal handler can run without being interrupted itself by signals. - Why Blocking Signals is Useful
- Signal Sets
- Process Signal Mask
- Blocking to Test for Delivery of a Signal
- Blocking Signals for a Handler
- Checking for Pending Signals
- Remembering a Signal to Act On Later