<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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access