ssiiggrreellssee() -- System Call (libc)

Release a signal for processing
#iinncclluuddee <ssiiggnnaall.hh>
iinntt ssiiggrreellssee (_s_i_g_t_y_p_e)
iinntt _s_i_g_t_y_p_e;

ssiiggrreellssee() is  a member  of the  ssiiggsseett() family of  signal-handling system
calls.  It releases the  signal _s_i_g_t_y_p_e, which had previously been ``placed
on hold'' by the system call ssiigghhoolldd(). 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.

When _s_i_g_t_y_p_e is released, it is  processed by the function that had set for
it  by the  system call  ssiiggsseett().  If ssiiggsseett()  has not  been invoked  for
_s_i_g_t_y_p_e,  then  the  system uses  the  function  to  which SSIIGG_DDFFLL  points.
SSIIGG_DDFFLL terminates  the process, just as if it  called the function eexxiitt().
In addition,  it dumps core  if _s_i_g_t_y_p_e is  any of the  following: SSIIGGQQUUIITT,
SSIIGGRREESSEETT, SSIIGGTTRRAAPP, SSIIGGSSEEGGVV, or SSIIGGSSYYSS.

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

ssiiggrreellssee()  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ghhoolldd(), 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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().
