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.
[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 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.
[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 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)
signal(2)
[ Back ] |