SLEEP(S) XENIX System V SLEEP(S)
Name
sleep - Suspends execution for an interval.
Syntax
unsigned sleep (seconds)
unsigned seconds;
Description
The current process is suspended from execution for the
number of seconds specified by the argument. The actual
suspension time may be less than that requested because
scheduled wakeups occur at fixed 1-second intervals, and any
caught signal will terminate the sleep following execution
of that signal's catching routine. Also, the suspension
time may be longer than requested by an arbitrary amount due
to the scheduling of other activity in the system. The
value returned by sleep will be the ``unslept'' amount (the
requested time minus the time actually slept) in case the
caller had an alarm set to go off earlier than the end of
the requested sleep time, or premature arousal due to
another caught signal.
The routine is implemented by setting an alarm signal and
pausing until it (or some other signal) occurs. The
previous state of the alarm signal is saved and restored.
The calling program may have set up an alarm signal before
calling sleep; if the sleep time exceeds the time till such
alarm signal, the process sleeps only until the alarm signal
would have occurred, and the caller's alarm catch routine is
executed just before the sleep routine returns, but if the
sleep time is less than the time till such alarm, the prior
alarm time is reset to go off at the same time it would have
gone off without the intervening sleep.
See Also
alarm(S), nap(S), pause(S), signal(S)
Page 1 (printed 8/7/87)