table of contents
other sections
SIGSUSPEND(2) | System Calls Manual | SIGSUSPEND(2) |
NAME¶
sigsuspend
—
atomically release blocked signals and wait for interrupt
LIBRARY¶
Standard C Library (libc, -lc)SYNOPSIS¶
#include <signal.h>
int
sigsuspend
(const
sigset_t *sigmask);
DESCRIPTION¶
Thesigsuspend
() system call temporarily changes the
blocked signal mask to the set to which sigmask points,
and then waits for a signal to arrive; on return the previous set of masked
signals is restored. The signal mask set is usually empty to indicate that all
signals are to be unblocked for the duration of the call.
In normal usage, a signal is blocked using
sigprocmask(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
sigsuspend
() with the previous mask returned by
sigprocmask(2).
RETURN VALUES¶
Thesigsuspend
() system call always terminates by being
interrupted, returning -1 with errno set to
EINTR
.
SEE ALSO¶
pselect(2), sigaction(2), sigpending(2), sigprocmask(2), sigtimedwait(2), sigwait(2), sigwaitinfo(2), sigsetops(3)STANDARDS¶
Thesigsuspend
() system call is expected to conform to
IEEE Std 1003.1-1990 (“POSIX.1”).
August 16, 2013 | Linux 4.9.0-9-amd64 |