diff options
Diffstat (limited to 'man3p/sigsuspend.3p')
-rw-r--r-- | man3p/sigsuspend.3p | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/man3p/sigsuspend.3p b/man3p/sigsuspend.3p new file mode 100644 index 000000000..a0d5a6267 --- /dev/null +++ b/man3p/sigsuspend.3p @@ -0,0 +1,79 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "SIGSUSPEND" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" sigsuspend +.SH NAME +sigsuspend \- wait for a signal +.SH SYNOPSIS +.LP +\fB#include <signal.h> +.br +.sp +int sigsuspend(const sigset_t *\fP\fIsigmask\fP\fB); \fP +\fB +.br +\fP +.SH DESCRIPTION +.LP +The \fIsigsuspend\fP() function shall replace the current signal mask +of the calling thread with the set of signals pointed to +by \fIsigmask\fP and then suspend the thread until delivery of a signal +whose action is either to execute a signal-catching +function or to terminate the process. This shall not cause any other +signals that may have been pending on the process to become +pending on the thread. +.LP +If the action is to terminate the process then \fIsigsuspend\fP() +shall never return. If the action is to execute a +signal-catching function, then \fIsigsuspend\fP() shall return after +the signal-catching function returns, with the signal mask +restored to the set that existed prior to the \fIsigsuspend\fP() call. +.LP +It is not possible to block signals that cannot be ignored. This is +enforced by the system without causing an error to be +indicated. +.SH RETURN VALUE +.LP +Since \fIsigsuspend\fP() suspends thread execution indefinitely, there +is no successful completion return value. If a return +occurs, -1 shall be returned and \fIerrno\fP set to indicate the error. +.SH ERRORS +.LP +The \fIsigsuspend\fP() function shall fail if: +.TP 7 +.B EINTR +A signal is caught by the calling process and control is returned +from the signal-catching function. +.sp +.LP +\fIThe following sections are informative.\fP +.SH EXAMPLES +.LP +None. +.SH APPLICATION USAGE +.LP +Normally, at the beginning of a critical code section, a specified +set of signals is blocked using the \fIsigprocmask\fP() function. +When the thread has completed the critical section and needs to +wait for the previously blocked signal(s), it pauses by calling \fIsigsuspend\fP() +with the mask that was returned by the \fIsigprocmask\fP() call. +.SH RATIONALE +.LP +None. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fISignal Concepts\fP , \fIpause\fP() , \fIsigaction\fP() , \fIsigaddset\fP() +, \fIsigdelset\fP() , \fIsigemptyset\fP() , \fIsigfillset\fP() , the +Base Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<signal.h>\fP +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . |