NAME
raise_default_signal
—
raise the default signal
handler
LIBRARY
library “libutil”
SYNOPSIS
#include
<util.h>
int
raise_default_signal
(int
sig);
DESCRIPTION
Theraise_default_signal
()
function raises the default signal handler for the signal
sig. This function may be used by a user-defined signal
handler router to ensure that a parent process receives the correct
notification of a process termination by a signal. This can be used to avoid a
common programming mistake when terminating a process from a custom
SIGINT
or SIGQUIT
signal
handler.
The operations performed are:
- Block all signals, using sigprocmask(2).
- Set the signal handler for signal sig to the default
signal handler (
SIG_DFL
). - raise(3) signal sig.
- Unblock signal sig to deliver it.
- Restore the original signal mask and handler, even if there was a failure.
See signal(7) for a table of signals and default actions.
The
raise_default_signal
()
function should be async-signal-safe.
RETURN VALUES
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and the global variable errno is set to indicate the error.
ERRORS
The raise_default_signal
() function may
fail and set errno for any of the errors specified for
the functions
sigemptyset(3),
sigfillset(3),
sigaddset(3),
sigprocmask(2),
sigaction(2), or
raise(3).
SEE ALSO
HISTORY
The raise_default_signal
() function first
appeared in NetBSD 5.0.