The Linux Programming Interface

(nextflipdebug5) #1

SIGNALS: SIGNAL HANDLERS


This chapter continues the description of signals begun in the previous chapter. It
focuses on signal handlers, and extends the discussion started in Section 20.4.
Among the topics we consider are the following:


z how to design a signal handler, which necessitates a discussion of reentrancy
and async-signal-safe functions;


z alternatives to performing a normal return from a signal handler, in particular,
the use of a nonlocal goto for this purpose;


z handling of signals on an alternate stack;


z the use of the sigaction() SA_SIGINFO flag to allow a signal handler to obtain more
detailed information about the signal that caused its invocation; and


z how a blocking system call may be interrupted by a signal handler, and how the
call can be restarted if desired.

Free download pdf