pause(2) pause(2)
NAME [Toc] [Back]
pause - suspend process until signal
SYNOPSIS [Toc] [Back]
#include <unistd.h>
int pause(void);
DESCRIPTION [Toc] [Back]
pause() suspends the calling process until it receives a signal. The
signal must be one that is not currently set to be ignored or blocked
(masked) by the calling process.
If the signal causes termination of the calling process, pause() does
not return.
If the signal is caught by the calling process and control is returned
from the signal-catching function (see signal(5)), the calling process
resumes execution from the point of suspension; with a return value of
-1 from pause() and errno set to EINTR.
WARNING [Toc] [Back]
Check all references to signal(5) for appropriateness on systems that
support sigvector(2). sigvector() can affect the behavior described
on this page.
APPLICATION USAGE [Toc] [Back]
Threads Considerations
Signal dispositions (such as catch/default/ignore) are shared by all
threads in the process and blocked signal masks are maintained by each
thread. Therefore, the signals being waited for should not be ignored
by the process or blocked by the calling thread.
pause() will suspend only the calling thread until it receives a
signal.
If other threads in the process do not block the signal, the signal
may be delivered to another thread in the process and the thread in
pause() may continue waiting. For this reason, the use of sigwait()
is recommended instead of pause() for multi-threaded applications.
For more information regarding signals and threads, refer to
signal(5).
SEE ALSO [Toc] [Back]
alarm(2), kill(2), sigvector(2), sigwait(2), wait(2), signal(5).
STANDARDS CONFORMANCE [Toc] [Back]
pause(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003 [ Back ] |