.\" the source, must acknowledge the copyright and authors of this work.
.\" %%%LICENSE_END
.\"
-.TH SIGPAUSE 3 2010-09-12 "Linux" "Linux Programmer's Manual"
+.TH SIGPAUSE 3 2014-01-07 "Linux" "Linux Programmer's Manual"
.SH NAME
sigpause \- atomically release blocked signals and wait for interrupt
.SH SYNOPSIS
.nf
.B #include <signal.h>
.sp
-.BI "int sigpause(int " sigmask "); /* BSD */"
+.BI "int sigpause(int " sigmask "); /* BSD (but see NOTES) */"
.sp
.BI "int sigpause(int " sig "); /* System V / UNIX 95 */"
.fi
.I errno
set to
.BR EINTR .
+.SH ATTRIBUTES
+.SS Multithreading (see pthreads(7))
+The
+.BR sigpause ()
+function is thread-safe.
.SH CONFORMING TO
The System V version of
.BR sigpause ()
or
.B _SVID_SOURCE
is defined.
-Otherwise, the System V version is used.
+Otherwise, the System V version is used (and
+.BR _XOPEN_SOURCE
+must be defined to obtain the declaration).
+Since glibc 2.19, only the System V version is exposed by
+.IR <signal.h> ;
+applications that formerly used the BSD
+.BR sigpause ()
+should be amended to use
+.BR sigsuspend (2).
.\"
.\" For the BSD version, one usually uses a zero
.\" .I sigmask