[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.21.6.4 Masking and waiting signals

A Scheme program can set a signal mask, which is a set of signals to be blocked from delivery. If a signal is delivered which is completely blocked in the process, the signal becomes "pending". The pending signal may be delivered once the signal mask is changed not to block the specified signal. (However, it depends on the operating system whether the pending signals are queued or not.)

In multithread environment, each thread has its own signal mask.

Function: sys-sigmask how mask
Modifies the current thread's signal mask, and returns the previous signal mask. Mask should be a <sys-sigset> object. How argument should be one of the following integer constants:
SIG_SETMASK
Sets mask as the thread's signal mask.
SIG_BLOCK
Adds signals in mask to the thread's signal mask.
SIG_UNBLOCK
Removes signals in mask from the thread's signal mask.

Function: sys-sigsuspend mask
Atomically sets thread's signal mask to mask and suspends the calling thread. When a signal that is not blocked and has a signal handler installed is delivered, the associated handler is called, then sys-sigsuspend returns.



This document was generated by Ken Dickey on November, 28 2002 using texi2html