 |
Laboratorio de Telemática |
Cuarto curso de Ingeniería de Telecomunicación |
|
|
sleep(3C) C Library Functions sleep(3C)
NAME
sleep - suspend execution for interval
SYNOPSIS
#include <unistd.h>
unsigned sleep(unsigned seconds);
MT-LEVEL
Safe
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 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 until
such alarm signal, the process sleeps only until the alarm
signal would have occurred. The caller's alarm catch rou-
tine 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(3C)
NOTES
SIGALRM should not be blocked or ignored during a call to
sleep(). Only a prior call to alarm(2) should generate
SIGALRM for the calling process during a call to sleep().
In a multithreaded program, only the invoking thread is
suspended from execution.
SunOS 5.5.1 Last change: 22 Jan 1993 1