signal - Modifies signal functions
void (*function)(int)) (int) );
Interfaces documented on this reference page conform to industry standards
signal(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about indus-
try standards and associated tags.
sig Defines the signal. All signals are valid with the exception of SIG-
KILL and SIGSTOP.
Specifies the address of a signal handler.
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_DFL, SIG_IGN, or it can point to an 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 sigaction() function provides a more comprehensive and reliable mechan-
ism for controlling signals and is recommended instead of signal() for new
[Tru64 UNIX] 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 supply BSD or System V signal-
ing characteristics respectively. If neither library is used, the behavior
is the same as that of the sigaction function with all the flags set to 0
(zero). If the libsys5 library 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. If the libbsd library or the
bsd_signal() function is used, the behavior is the same as that of the
sigaction() function with the SA_RESTART flag set.
[Tru64 UNIX] When compiled in the X/Open UNIX environment, calls to the
signal() function are internally renamed by prepending _E to the function
name. When you are debugging a module that includes the libc version of
the signal() function and for which _XOPEN_SOURCE_EXTENDED has been
defined, use _Esignal to refer to the signal() call. See standards(5) for
information on when the _XOPEN_SOURCE_EXTENDED macro is defined.
Upon successful completion of the signal function, the value of the previ-
ous signal action is returned. Otherwise, SIG_ERR is returned and errno is
set to indicate the error.
The signal() function sets errno to the specified values for the following
The sig parameter is not a valid signal number or an attempt was made
to catch a signal that cannot be caught or to ignore a signal that can-
not be ignored.
Functions: acct(2), bsd_signal(2), exit(2), kill(2), pause(3), ptrace(2),
setjmp(3), sigaction(2), sigblock(2), sigpause(3), sigprocmask(2), sig-
stack(2), sigsuspend(2), sigvec(2), umask(2), wait(2)