Query: bsd_signal
OS: mojave
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
BSD_SIGNAL(3) BSD Library Functions Manual BSD_SIGNAL(3)NAMEbsd_signal -- simplified signal facilitiesSYNOPSIS#include <signal.h> void (* bsd_signal(int sig, void (*func)(int)))(int); or in an equivalent but easier to read typedef'd version: typedef void (*sig_t) (int); sig_t bsd_signal(int sig, sig_t func);DESCRIPTIONThe 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 the 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 func(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 VALUESUpon successful completion, bsd_signal() returns the previous action for sig. Otherwise, SIG_ERR is returned and errno is set to indicate the error.ERRORSRefer to sigaction(2).USAGEThis function is a direct replacement for the BSD signal(3) function for simple applications that are installing a single-argument signal handler function. If a BSD signal handler function is being installed that expects more than one argument, the application has to be modi- fied to use sigaction(2). The bsd_signal() function differs from signal(3) 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(3).SEE ALSOsigaction(2), sigaddset(3), sigemptyset(3), signal(3)STANDARDSThe bsd_signal() function conforms to IEEE Std 1003.1-2001 (``POSIX.1'').BSDDecember 20, 2003 BSD
Related Man Pages |
---|
siginterrupt(3p) - centos |
sigactio(2) - minix |
bsd_signal(3p) - suse |
siginterrupt(3p) - suse |
bsd_signal(3) - osx |
Similar Topics in the Unix Linux Community |
---|
difference between int ** func() and int *& func() |
Signal Default Action |
Regarding stack analysis |
Handling a signal with a class member function |