ssiigghhoolldd() -- System Call (libc)

Place a signal on hold
#iinncclluuddee <ssiiggnnaall.hh>
iinntt ssiigghhoolldd (_s_i_g_t_y_p_e)
iinntt _s_i_g_t_y_p_e;

ssiigghhoolldd()  is a  member of  the ssiiggsseett()  family of  signal-handling system
calls.  It is equivalent to the system call

    sigset(sigtype, SIG_HOLD);

This, in  effect, places  the signal _s_i_g_t_y_p_e  ``on hold'' until  the system
call ssiiggrreellssee()  is invoked for  it.  Only one  ``copy'' of _s_i_g_t_y_p_e  can be
held at a time.

Thus,  you can  use ssiigghhoolldd()  and  ssiiggrreellssee() to  defer processing  of the
signal _s_i_g_t_y_p_e.  This permits you to protect a  portion of your application
from this signal until it is ready to process it.

See the Lexicon entry for ssiiggnnaall()  for a list of recognized signals.  Note
that signal SSIIGGKKIILLLL cannot be held.

ssiigghhoolldd()  returns zero  if all  went  well.  If  something went  wrong, it
returns -1 and sets eerrrrnnoo to an appropriate value.

_S_e_e _A_l_s_o
lliibbcc, ssiiggiiggnnoorree(), ssiiggnnaall(), ssiiggppaauussee(), ssiiggrreellssee(), ssiiggsseett()

_N_o_t_e_s
For  more information  on  the ssiiggsseett()  family  of signal-handling  system
calls, see the Lexicon entry for ssiiggsseett().
