<csignal>
The <csignal> header is the C++ version of the standard C <signal.h> header. It declares functions
and macros related to signal handling.
A signal is a condition that can arise during
program execution. A signal can originate by an explicit call to
raise or abort, from external sources (such as the user
interrupting the program), or from internal events (such as
floating-point errors or memory violations). Each signal has a
handler, which is a function that the C++ library
calls when a signal occurs (called raising the
signal).
Signals are identified by integers. A program can establish
different handlers for different signal numbers. You can choose to
ignore a signal by using SIG_IGN as
the signal handler. If the signal is raised, no handler is called, and
the program continues. Each signal also has a default handler (SIG_DFL). When a program starts, every signal
number is initialized with SIG_IGN or
SIG_DFL. The details are
implementation-defined.
You can set your own handler for any signal by calling the
signal function. A handler is a
function that takes one parameter: the signal number. The signal handler
function is limited in what it can do. Unless a signal is raised by an
explicit call to raise or abort, the only useful thing the handler can
do is to set a global flag. The type of the flag must be sig_atomic_t.
The standard defines a basic set of signals, and an implementation ...