.\" the source, must acknowledge the copyright and authors of this work.
.\" %%%LICENSE_END
.\"
-.TH BSD_SIGNAL 3 2015-03-02 "" "Linux Programmer's Manual"
+.TH BSD_SIGNAL 3 2019-03-06 "" "Linux Programmer's Manual"
.SH NAME
bsd_signal \- signal handling with BSD semantics
.SH SYNOPSIS
.B #include <signal.h>
-.sp
+.PP
.B typedef void (*sighandler_t)(int);
-.sp
+.PP
.BI "sighandler_t bsd_signal(int " signum ", sighandler_t " handler );
-.sp
+.PP
.in -4n
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.in
-.sp
+.PP
.ad l
.BR bsd_signal ():
.RS 4
Since glibc 2.26:
_XOPEN_SOURCE >= 500
.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- && ! (_POSIX_C_SOURCE\ >=\ 200112L)
+ && ! (_POSIX_C_SOURCE\ >=\ 200809L)
.br
Glibc 2.25 and earlier:
_XOPEN_SOURCE
.BR bsd_signal ()
function takes the same arguments, and performs the same task, as
.BR signal (2).
-
+.PP
The difference between the two is that
.BR bsd_signal ()
is guaranteed to provide reliable signal semantics, that is:
should be avoided; use
.BR sigaction (2)
instead.
-
+.PP
On modern Linux systems,
.BR bsd_signal ()
and
provided unreliable signal semantics; see
.BR signal (2)
for details.
-
+.PP
The use of
.I sighandler_t
is a GNU extension;