| SIGSUSPEND(2) | System Calls Manual | SIGSUSPEND(2) | 
sigsuspend —
#include <signal.h>
int
  
  sigsuspend(const
    sigset_t *sigmask);
sigsuspend() 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).
sigsuspend() function always terminates by being
  interrupted, returning -1 with errno set to
  EINTR.
sigsuspend function call conforms to
  IEEE Std 1003.1-1990 (“POSIX.1”).
| May 16, 1995 | NetBSD 10.0 |