Name
signal function — Sets a signal handler
Synopsis
void (*signal(int sig, void (*func)(int)))(int);
The signal
function
controls the program’s behavior when a signal is delivered to the
program. The first parameter (sig
) is the signal number. The second
parameter (func
) is the function
to call when signal sig
is
delivered.
The func
parameter can also
be one of the special values SIG_DFL
or SIG_IGN
. Use SIG_DFL
to get the default behavior; use
SIG_IGN
to ignore a
signal.
The default behavior for a signal is implementation-defined,
but it usually results in the termination of the program. The signal
handler must not use any C++ features (such as throwing an
exception), or the results will be implementation-defined. The
function must have "C
"
linkage.
If the func
parameter is a
function pointer, that function is called when signal sig
is delivered. Unless the signal is
delivered by calling abort
or
raise
, the function is highly
restricted in what it can do:
The handler must not call any function in the standard library except
signal
, and the first parameter must besig
.The handler must not refer to any variable with static storage except it can assign a value to a variable of type
volatile
sig_atomic_t
.If the signal is the result of a computational error such as
SIGFPE
, the signal handler must not return, but should callabort
orexit
. (Yes, this item contradicts the first item.)
Warning ...
Get C++ In a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.