RAISE_DEFAULT_SIGNAL(3) BSD Library Functions Manual RAISE_DEFAULT_SIGNAL(3)NAMEraise_default_signal — raise the default signal handler
LIBRARY
System Utilities Library (libutil, -lutil)
SYNOPSIS
#include <util.h>
int
raise_default_signal(int sig);
DESCRIPTION
The raise_default_signal() function raises the default signal handler for
the signal sig. This function may be used by a user-defined signal han‐
dler router to ensure that a parent process receives the correct notifi‐
cation 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:
1. Block all signals, using sigprocmask(2).
2. Set the signal handler for signal sig to the default signal
handler (SIG_DFL).
3. raise(3) signal sig.
4. Unblock signal sig to deliver it.
5. 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 ALSOsigaction(2), sigprocmask(2), raise(3), signal(7)HISTORY
The raise_default_signal() function first appeared in NetBSD 5.0.
BSD September 25, 2007 BSD