Go to the previous, next section.

Using 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.

Function: int pause ()

The 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 section Primitives Interrupted by Signals), 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
The function was interrupted by delivery of a signal.

If the signal causes program termination, pause doesn't return (obviously).

The pause function is declared in `unistd.h'.

Go to the previous, next section.