sigsuspend(2)
NAME
sigsuspend − install a signal mask and suspend process until signal
SYNOPSIS
#include <signal.h>
int sigsuspend(const sigset_t ∗set);
DESCRIPTION
sigsuspend() replaces the process’s signal mask with the set of signals pointed to by the argument set and then suspends the process until delivery of a signal whose action is either to execute a signal catching function or to terminate the process.
If the action is to terminate the process, sigsuspend() does not return. If the action is to execute a signal catching function, sigsuspend() returns after the signal catching function returns. On return, the signal mask is restored to the set that existed before the call to sigsuspend().
It is not possible to block those signals that cannot be ignored (see signal(5)); this restriction is silently imposed by the system.
RETURN VALUES
Since sigsuspend() suspends process execution indefinitely, there is no successful completion return value. On failure, it returns −1 and sets errno to indicate the error.
ERRORS
sigsuspend() fails if either of the following is true:
EFAULT set points to an illegal address.
EINTR A signal is caught by the calling process and control is returned from the signal catching function.
SEE ALSO
sigaction(2), sigprocmask(2), signal(2), sigsetops(3C), signal(5)
SunOS 5.1/SPARC — Last change: 5 Jul 1990