]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man3/siginterrupt.3
err.3: EXAMPLES: use EXIT_FAILURE rather than 1 as exit status
[thirdparty/man-pages.git] / man3 / siginterrupt.3
index 498942bdc2176fedb74590e27737b3de60047fec..74f22e2d1fca47e8c5a785f6b55c3494ff6c698f 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
@@ -19,6 +20,7 @@
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
 .\" References consulted:
 .\"     Linux libc source code
 .\"     386BSD man pages
 .\" Modified Sun Jul 25 10:40:51 1993 by Rik Faith (faith@cs.unc.edu)
 .\" Modified Sun Apr 14 16:20:34 1996 by Andries Brouwer (aeb@cwi.nl)
-.TH SIGINTERRUPT 3  1993-04-13 "" "Linux Programmer's Manual"
+.TH SIGINTERRUPT 3 2016-03-15 "" "Linux Programmer's Manual"
 .SH NAME
 siginterrupt \- allow signals to interrupt system calls
 .SH SYNOPSIS
 .nf
 .B #include <signal.h>
-.sp
+.PP
 .BI "int siginterrupt(int " sig ", int " flag );
 .fi
+.PP
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.PP
+.BR siginterrupt ():
+.ad l
+.RS 4
+_XOPEN_SOURCE\ >=\ 500
+.\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+    || /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
+    || /* Glibc versions <= 2.19: */ _BSD_SOURCE
+.RE
+.ad
 .SH DESCRIPTION
 The
 .BR siginterrupt ()
@@ -44,27 +61,49 @@ If the \fIflag\fP
 argument is false (0), then system calls will be restarted if interrupted
 by the specified signal \fIsig\fP.
 This is the default behavior in Linux.
-However, when a new signal handler is specified with the
-.BR signal (2)
-function, the system call is interrupted by default.
 .PP
-If the \fIflags\fP argument is true (1) and no data has been transferred,
+If the \fIflag\fP argument is true (1) and no data has been transferred,
 then a system call interrupted by the signal \fIsig\fP will return \-1
-and the global variable \fIerrno\fP will be set to \fBEINTR\fP.
+and \fIerrno\fP will be set to
+.BR EINTR .
 .PP
-If the \fIflags\fP argument is true (1) and data transfer has started,
+If the \fIflag\fP argument is true (1) and data transfer has started,
 then the system call will be interrupted and will return the actual
 amount of data transferred.
-.SH "RETURN VALUE"
+.SH RETURN VALUE
 The
 .BR siginterrupt ()
-function returns 0 on success, or \-1 if the
-signal number \fIsig\fP is invalid.
+function returns 0 on success.
+It returns \-1 if the
+signal number
+.I sig
+is invalid, with
+.I errno
+set to indicate the cause of the error.
 .SH ERRORS
 .TP
 .B EINVAL
 The specified signal number is invalid.
-.SH "CONFORMING TO"
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface      Attribute       Value
+T{
+.BR siginterrupt ()
+T}     Thread safety   MT-Unsafe const:sigintr
+.TE
+.SH CONFORMING TO
 4.3BSD, POSIX.1-2001.
-.SH "SEE ALSO"
+POSIX.1-2008 marks
+.BR siginterrupt ()
+as obsolete, recommending the use of
+.BR sigaction (2)
+with the
+.B SA_RESTART
+flag instead.
+.SH SEE ALSO
 .BR signal (2)