4.3BSD-Reno/share/man/cat2/sigsuspend.0
SIGSUSPEND(2) 1990 SIGSUSPEND(2)
NNAAMMEE
sigsuspend - atomically release blocked signals and wait for
interrupt
SSYYNNOOPPSSIISS
##iinncclluuddee <<ssiiggnnaall..hh>> ssiiggssuussppeenndd((ssiiggmmaasskk))
ssiiggsseett__tt **ssiiggmmaasskk;;
DDEESSCCRRIIPPTTIIOONN
_S_i_g_s_u_s_p_e_n_d temporarily changes the blocked signal mask to
the set to which _s_i_g_m_a_s_k 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. The _s_i_g_s_u_s_p_e_n_d function always terminates by being
interrupted, returning -1 with _e_r_r_n_o set to EINTR.
In normal usage, a signal is blocked using _s_i_g_p_r_o_c_m_a_s_k(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 _s_i_g_s_u_s_p_e_n_d with the previous mask returned by
_s_i_g_p_r_o_c_m_a_s_k.
SSEEEE AALLSSOO
sigprocmask(2), sigaction(2), sigsetops(3)
Printed 7/27/90 July 1