mirror of https://github.com/mkerrisk/man-pages
Strengthen warning against the use of signal().
Add siginterrupt(3) to SEE ALSO list.
This commit is contained in:
parent
b8b64c11c7
commit
bc0d5df316
|
@ -24,8 +24,9 @@
|
|||
.\"
|
||||
.\" Modified 2004-11-19, mtk:
|
||||
.\" added pointer to sigaction.2 for details of ignoring SIGCHLD
|
||||
.\" 2007-06-03, mtk: strengthened portability warning.
|
||||
.\"
|
||||
.TH SIGNAL 2 2000-04-28 "Linux 2.2" "Linux Programmer's Manual"
|
||||
.TH SIGNAL 2 2007-06-03 "Linux" "Linux Programmer's Manual"
|
||||
.SH NAME
|
||||
signal \- ANSI C signal handling
|
||||
.SH SYNOPSIS
|
||||
|
@ -35,6 +36,15 @@ signal \- ANSI C signal handling
|
|||
.sp
|
||||
.BI "sighandler_t signal(int " signum ", sighandler_t " handler );
|
||||
.SH DESCRIPTION
|
||||
The behaviour of
|
||||
.BR signal ()
|
||||
varies across Unix versions,
|
||||
and has also varied historically across different versions of Linux.
|
||||
\fBAvoid its use\fP: use
|
||||
.BR sigaction (2)
|
||||
instead.
|
||||
See \fIPortability\fP below.
|
||||
|
||||
The
|
||||
.BR signal ()
|
||||
system call installs a new signal handler for the signal with number
|
||||
|
@ -74,9 +84,8 @@ and
|
|||
.B SIGSTOP
|
||||
cannot be caught or ignored.
|
||||
.SH "RETURN VALUE"
|
||||
The
|
||||
.BR signal ()
|
||||
function returns the previous value of the signal handler, or
|
||||
returns the previous value of the signal handler, or
|
||||
.B SIG_ERR
|
||||
on error.
|
||||
.SH "CONFORMING TO"
|
||||
|
@ -90,11 +99,10 @@ ignores a
|
|||
.BR SIGILL ,
|
||||
or
|
||||
.B SIGSEGV
|
||||
signal that was not generated by the
|
||||
signal that was not generated by
|
||||
.BR kill (2)
|
||||
or the
|
||||
.BR raise (3)
|
||||
functions.
|
||||
.BR raise (3).
|
||||
Integer division by zero has undefined result.
|
||||
On some architectures it will generate a
|
||||
.B SIGFPE
|
||||
|
@ -142,25 +150,19 @@ instead of
|
|||
then
|
||||
.BR signal ()
|
||||
is redefined as
|
||||
.B __bsd_signal
|
||||
and signal has the BSD semantics.
|
||||
.BR __bsd_signal ()
|
||||
and
|
||||
.BR signal ()
|
||||
has the BSD semantics.
|
||||
This is not recommended.
|
||||
|
||||
If one on a glibc2 system defines a feature test
|
||||
macro such as
|
||||
.B _XOPEN_SOURCE
|
||||
or uses a separate
|
||||
.B sysv_signal
|
||||
.BR sysv_signal (3)
|
||||
function, one obtains classical behaviour.
|
||||
This is not recommended.
|
||||
|
||||
Trying to change the semantics of this call using
|
||||
defines and includes is not a good idea.
|
||||
It is better to avoid
|
||||
.BR signal ()
|
||||
altogether, and use
|
||||
.BR sigaction (2)
|
||||
instead.
|
||||
.SH "SEE ALSO"
|
||||
.BR kill (1),
|
||||
.BR alarm (2),
|
||||
|
@ -174,6 +176,7 @@ instead.
|
|||
.BR bsd_signal (3),
|
||||
.BR killpg (3),
|
||||
.BR raise (3),
|
||||
.BR siginterrupt (3),
|
||||
.BR sigsetops (3),
|
||||
.BR sigvec (3),
|
||||
.BR sysv_signal (3),
|
||||
|
|
Loading…
Reference in New Issue