mirror of
https://github.com/GnoConsortium/gno.git
synced 2024-12-27 16:31:19 +00:00
40 lines
1.2 KiB
Groff
40 lines
1.2 KiB
Groff
.\"
|
|
.\" $Id: sigpause.2,v 1.1 1997/02/27 07:32:16 gdr Exp $
|
|
.\"
|
|
.TH SIGPAUSE 2 "19 January 1997" GNO "System Calls"
|
|
.SH NAME
|
|
.BR sigpause
|
|
\- suspend process until a signal arrives
|
|
.SH SYNOPSIS
|
|
#include <signal.h>
|
|
.sp 1
|
|
int
|
|
\fBsigpause\fR(long int \fImask\fR);
|
|
.SH DESCRIPTION
|
|
.BR sigpause
|
|
suspends execution of the calling process until a signal arrives. The
|
|
.IR mask
|
|
parameter is assigned to the set of blocked signals (see
|
|
.BR sigsetmask (2)),
|
|
and then the process is paused. When a signal arrives, the regular
|
|
signal handler (if any) is executed, and then the original signal mask
|
|
is restored before returning to the caller. Usually
|
|
.IR mask
|
|
is zero to pause until any signal arrives.
|
|
.LP
|
|
.BR sigpause
|
|
is normally used in situations where one must protect a critical section.
|
|
A typical use begins with sigblock to block a signal (and enable mutual
|
|
exclusion); variables modified on the occurance of that signal are then
|
|
manipulated, code is executed, etc. To end the critical section and
|
|
wait for more work, sigpause is called.
|
|
.SH RETURN VALUE
|
|
.BR sigpause
|
|
always returns an error (-1) and sets
|
|
.BR errno
|
|
to EINTR.
|
|
.SH SEE ALSO
|
|
.BR signal (2),
|
|
.BR sigblock (2),
|
|
.BR sigsetmask (2)
|