sleep(3C) sleep(3C)
NAME
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(2), pause(2), signal(2), wait(2)
NOTICES
Considerations for Threads Programming
The Threads Library allows each thread to sleep independently
of the others.
Copyright 1994 Novell, Inc. Page 1