date and time created 90/06/23 17:20:37 by trent
[unix-history] / usr / src / lib / libc / compat-43 / sigpause.2
.\" Copyright (c) 1983 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms are permitted
.\" provided that the above copyright notice and this paragraph are
.\" duplicated in all such forms and that any documentation,
.\" advertising materials, and other materials related to such
.\" distribution and use acknowledge that the software was developed
.\" by the University of California, Berkeley. The name of the
.\" University may not be used to endorse or promote products derived
.\" from this software without specific prior written permission.
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
.\" @(#)sigpause.2 6.3 (Berkeley) %G%
.\"
.TH SIGPAUSE 2 ""
.UC 4
.SH NAME
sigpause \- atomically release blocked signals and wait for interrupt
.SH SYNOPSIS
.ft B
sigpause(sigmask)
.br
int sigmask;
.ft R
.SH DESCRIPTION
.I Sigpause
assigns
.I sigmask
to the set of masked signals
and then waits for a signal to arrive;
on return the set of masked signals is restored.
.I Sigmask
is usually 0 to indicate that no
signals are now to be blocked.
.I Sigpause
always terminates by being interrupted, returning \-1 with
.I errno
set to EINTR.
.PP
In normal usage, a signal is blocked using
.IR sigblock (2),
to begin a critical section, variables modified on the occurrence
of the signal are examined to determine that there is no work
to be done, and the process pauses awaiting work by using
.I sigpause
with the mask returned by
.IR sigblock .
.SH SEE ALSO
sigblock(2), sigvec(2)