Provided by: manpages-dev_2.17-1_all bug


       sigpause - atomically release blocked signals and wait for interrupt


       #include <signal.h>

       int sigpause(int sigmask);  /* BSD */

       int sigpause(int sig);      /* Unix95 */


       Don’t use this function. Use sigsuspend(2) instead.

       The  function  sigpause()  is  designed  to  wait  for some signal.  It
       changes the process’ signal mask (set of  blocked  signals),  and  then
       waits  for  a signal to arrive.  Upon arrival of a signal, the original
       signal mask is restored.


       If sigpause() returns, it was interrupted by a signal  and  the  return
       value is -1 with errno set to EINTR.


       The classical BSD version of this function appeared in 4.2BSD.  It sets
       the process’ signal mask to sigmask.  When the number  of  signals  was
       increased  above  32,  this  version  was  replaced by the incompatible
       Unix95 one, which removes  only  the  specified  signal  sig  from  the
       process’  signal mask.  The unfortunate situation with two incompatible
       functions with the same name was solved by the sigsuspend(2)  function,
       that takes a sigset_t * parameter (instead of an int).

       On  Linux,  this  routine  is a system call only on the Sparc (sparc64)
       architecture. Libc4 and libc5 only know about the BSD  version.   Glibc
       uses the BSD version unless _XOPEN_SOURCE is defined.


       kill(2),   sigaction(2),  sigblock(2),  sigprocmask(2),  sigsuspend(2),