Next: The deferral mechanism, Up: Signal handling
There are two distinct groups of 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.
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.