Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

raise_default_signal(3) [netbsd man page]

RAISE_DEFAULT_SIGNAL(3) 				   BSD Library Functions Manual 				   RAISE_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 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: 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. BSD
September 25, 2007 BSD

Check Out this Related Man Page

bsd_signal(3C)						   Standard C Library Functions 					    bsd_signal(3C)

NAME
bsd_signal - simplified signal facilities SYNOPSIS
#include <signal.h> void (*bsd_signal(int sig, void (*func)(int)))(int); DESCRIPTION
The bsd_signal() function provides a partially compatible interface for programs written to historical system interfaces (see USAGE below). The function call bsd_signal(sig, func) has an effect as if implemented as: void (*bsd_signal(int sig, void (*func)(int)))(int) { struct sigaction act, oact; act.sa_handler = func; act.sa_flags = SA_RESTART; sigemptyset(&act.sa_mask); sigaddset(&act.sa_mask, sig); if (sigaction(sig, &act, &oact) == -1) return(SIG_ERR); return(oact.sa_handler); } The handler function should be declared: void handler(int sig); where sig is the signal number. The behavior is undefined if func is a function that takes more than one argument, or an argument of a different type. RETURN VALUES
Upon successful completion, bsd_signal() returns the previous action for sig. Otherwise, SIG_ERR is returned and errno is set to indicate the error. ERRORS
Refer to sigaction(2). USAGE
This function is a direct replacement for the BSD signal(3UCB) function for simple applications that are installing a single-argument sig- nal handler function. If a BSD signal handler function is being installed that expects more than one argument, the application has to be modified to use sigaction(2). The bsd_signal() function differs from signal(3UCB) in that the SA_RESTART flag is set and the SA_RESETHAND will be clear when bsd_signal() is used. The state of these flags is not specified for signal(3UCB). ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
sigaction(2), sigaddset(3C), sigemptyset(3C), signal(3UCB), attributes(5), standards(5) SunOS 5.10 24 Jul 2002 bsd_signal(3C)
Man Page