The GNU C Library - Using Pause

Node: Using Pause Next: Pause Problems Up: Waiting for a Signal

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


Next: Pause Problems Up: Waiting for a Signal