sleep(S)
sleep --
suspend execution for interval
Synopsis
#include <unistd.h>
unsigned sleep (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 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 because of 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 because of 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 until such alarm signal,
the process sleeps only until the alarm signal would
have occurred.
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 without the intervening
sleep.
References
alarm(S),
pause(S),
signal(S),
wait(S)
Notices
Considerations for threads programming
The Threads Library allows each thread to sleep
independently of the others.
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 - 01 June 2005