pause
The simple way to wait until a signal arrives is to call pause
. Please read about its disadvantages, in the following section, before you use it.
pause
function suspends program execution until a signal arrives whose action is either to execute a handler function, or to terminate the process.
If the signal causes a handler function to be executed, then pause
returns. This is considered an unsuccessful return (since ``successful'' behavior would be to suspend the program forever), so the return value is -1
. Even if you specify that other primitives should resume when a system handler returns (see Interrupted Primitives), this has no effect on pause
; it always fails when a signal is handled.
The following errno
error conditions are defined for this function:
EINTR
If the signal causes program termination, pause
doesn't return (obviously).
The pause
function is declared in `unistd.h'.