signal(2) — System Calls
NAME
signal − Modifies signal functions
SYNOPSIS
#include <signal.h>
void (∗signal (
int sig,
void (∗function) (int))) (int);
PARAMETERS
sigDefines the signal. All signals are valid with the exception of SIGKILL and SIGSTOP.
functionSpecifies the address of a signal handler.
DESCRIPTION
The signal function provides compatibility for older versions of the operating system whose function is a subset of the sigaction function. The signal function sets the action associated with a signal. The function parameter uses the values SIG_DFS, SIG_IGN, or it can point to a address of a signal handler. A SIG_DFL value specifies the default action that is to be taken when the signal is delivered. A value of SIG_IGN specifies that the signal has no effect on the receiving process. A pointer to a function requests that the signal be caught; that is, the signal should cause the function to be called. These actions are more fully described in the signal.h file.
The effect of calling the signal function behavior differs depending on whether the calling program is linked with either of the special libraries, libbsd or libsys5, which supplies BSD or System V signaling characteristics respectively. If neither library is used, the behavior is the same as that of the sigaction function with all the flags set to zero (0). If the libbsd is used (through compilation with the -lsys5 switch), then the specified signal is not blocked from delivery when the handler is entered, and the disposition of the signal reverts to SIG_DFL when the signal is delivered.
RETURN VALUES
Upon successful completion of the signal function, the value of the previous signal action is returned. If the call fails, a value of -1 is returned and errno is set to indicate the error.
RELATED INFORMATION
Commands: kill(1).
Functions: acct(2), exit(2), kill(2), pause(3), ptrace(2), setjmp(3), sigaction(2), sigblock(2), sigpause(3), sigprocmask(2), sigstack(2), sigsuspend(2), sigvec(2), umask(2), wait(2).
Files: signal(4).