SLEEP(3C-SysV) RISC/os Reference Manual SLEEP(3C-SysV)
NAME
sleep - suspend execution for interval
SYNOPSIS
#include <bsd/sys/types.h>
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 for two rea-
sons: (1) Because scheduled wakeups occur at fixed 1-second
intervals, (on the second, according to an internal clock)
and (2) 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 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 actu-
ally slept) in case the caller had an alarm set to go off
earlier than the end of the requested sleep time, or prema-
ture 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 previ-
ous state of the alarm signal is saved and restored. The
calling program may have set up an alarm signal before cal-
ling sleep. If the sleep time exceeds the time till 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.
SEE ALSO
alarm(2), pause(2), signal(2).
Printed 1/15/91 Page 1