raise_default_signal(3)
- NetBSD Manual Pages
RAISE_DEFAULT_SIGNAL(3) NetBSD Library Functions ManualRAISE_DEFAULT_SIGNAL(3)
NAME
raise_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 ALSO
sigaction(2), sigprocmask(2), raise(3), signal(7)
HISTORY
The raise_default_signal() function first appeared in NetBSD 5.0.
NetBSD 9.3 September 25, 2007 NetBSD 9.3
Powered by man-cgi (2021-06-01).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.