sigpause - Provide a compatibility interface to the sigsuspend
int signal_mask );
Standard C Library (libc)
Interfaces documented on this reference page conform to
industry standards as follows:
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Specifies which signals to block.
The sigpause() function call blocks the signals specified
by the signal_mask parameter and then suspends execution
of the process until delivery of a signal whose action is
either to execute a signal-catching function or to end the
process. Signal of value i is blocked if the i-th bit of
the mask is set. Only signals with values 1 to 31 can be
blocked with the sigpause() function. In addition, the
sigpause() function does not allow the SIGKILL, SIGSTOP,
or SIGCONT signals to be blocked. If a program attempts
to block one of these signals, the sigpause() function
gives no indication of the error.
The sigpause() function sets the signal mask and waits for
an unblocked signal as one atomic operation. This means
that signals cannot occur between the operations of setting
the mask and waiting for a signal.
The sigpause() function is provided for compatibility with
older UNIX systems; its function is a subset of the sigsuspend()
[Tru64 UNIX] When compiled in the X/Open UNIX environment,
calls to the sigpause() function are internally
renamed by prepending _E to the function name. When you
are debugging a module that includes the sigpause() function
and for which _XOPEN_SOURCE_EXTENDED has been
defined, use _Esigpause to refer to the sigpause() call.
See standards(5) for information on when the
_XOPEN_SOURCE_EXTENDED macro is defined.
Upon successful completion, sigpause() returns 0 (zero).
Otherwise, -1 is returned and errno is set to indicate the
The sigpause() function sets errno to the specified values
for the following conditions: The signal_mask parameter
refers to an illegal signal number. [Tru64 UNIX] A signal
was caught by the calling process.
Functions: pause(3), sigaction(2), sigblock(2), sigprocmask(2), sigsuspend(2), sigvec(2)
[ Back ]