Content-type: text/html
signal - Modifies signal functions
#include <signal.h>
void (*signal(
int sig,
void (*function)(int)) (int)
);
Interfaces documented on this reference page conform to industry standards as follows:
signal(): XPG4, XPG4-UNIX
Refer to the
standards(5)
reference page for more information
about industry standards and associated tags.
Defines the signal. All signals are valid with the exception
of SIGKILL 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 mechanism for controlling signals and is recommended instead of signal() for new applications.
[Compaq] 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 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 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.
[Compaq] 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 previous 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 conditions:
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 cannot be ignored.
Commands: kill(1)
Functions: acct(2), bsd_signal(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)
Standards: standards(5)