Seth Woolley's Man Viewer

sigpause(2) - sigpause, sigpause - atomically release blocked signals and wait for interrupt - man 2 sigpause

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

SIGPAUSE(2)                Linux Programmer's Manual               SIGPAUSE(2)

       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(2,7) mask (set(7,n,1 builtins) of blocked signals), and then waits for a
       signal(2,7)  to  arrive.  Upon arrival of a signal(2,7), the original signal(2,7) mask
       is restored.

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

       The classical BSD version(1,3,5) of this function appeared in(1,8) 4.2BSD.  It sets
       the process' signal(2,7) mask to sigmask.  When the number  of  signals  was
       increased  above  32,  this  version(1,3,5)  was  replaced by the incompatible
       Unix95 one, which removes  only  the  specified  signal(2,7)  sig  from  the
       process'  signal(2,7) 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(1,3,5) unless _XOPEN_SOURCE is defined.

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

Linux 2.6                         2004-05-10                       SIGPAUSE(2)

References for this manual (incoming links)