Next: , Up: Signal handling


6.1 Groups of signals

There are two distinct groups of signals.

6.1.1 Semi-synchronous signals

The first group, tentatively named “semi-synchronous”, consists of signals that are raised on illegal instruction, hitting a protected page, or on a trap. Examples from this group are: SIGBUS/SIGSEGV, SIGTRAP, SIGILL and SIGEMT. The exact meaning and function of these signals varies by platform and OS. Understandably, because these signals are raised in a controllable manner they are never blocked or deferred.

6.1.2 Blockable signals

The other group is of blockable signals. Typically, signal handlers block them to protect against being interrupted at all. For example SIGHUP, SIGINT, SIGQUIT belong to this group.

With the exception of SIG_STOP_FOR_GC all blockable signals are deferrable.