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:
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
SIGQUIT belong to this group.
With the exception of
SIG_STOP_FOR_GC all blockable signals are