sleep(3C) sleep(3C)
NAME
sleep - suspend execution
SYNOPSIS
#include <unistd.h>
unsigned int sleep(unsigned int seconds);
DESCRIPTION
The sleep() function will cause the current process to be suspended
from execution until either the number of real-time seconds specified
by the argument seconds has elapsed or a signal is delivered to the
calling process and its action is to invoke a signal-catching function
or to terminate the process. The suspension time may be longer than
requested due to the scheduling of other activity by the system.
If a SIGALRM signal is generated for the calling process during execu-
tion of sleep() and if the SIGALRM signal is being ignored or blocked
from delivery, it is unspecified whether sleep() returns when the
SIGALRM signal is scheduled. If the signal is being blocked, it is
also unspecified whether it remains pending after sleep() returns or
it is discarded.
If a SIGALRM signal is generated for the calling process during execu-
tion of sleep(), except as a result of a prior call to alarm(), and if
the SIGALRM signal is not being ignored or blocked from delivery, it
is unspecified whether that signal has any effect other than causing
sleep() to return.
If a signal-catching function interrupts sleep() and examines or
changes either the time a SIGALRM is scheduled to be generated, the
action associated with the SIGALRM signal, or whether the SIGALRM sig-
nal is blocked from delivery, the results are unspecified.
If a signal-catching function interrupts sleep() and calls
siglongjmp() or longjmp() to restore an environment saved prior to the
sleep() call, the action associated with the SIGALRM signal and the
time at which a SIGALRM signal is scheduled to be generated are
unspecified. It is also unspecified whether the SIGALRM signal is
blocked, unless the process' signal mask is restored as part of the
environment.
Interactions between sleep() and any of setitimer(), ualarm() or
usleep() are unspecified.
RETURN VALUE
If sleep() returns because the requested time has elapsed, the value
returned will be 0. If sleep() returns because of premature arousal
due to delivery of a signal, the return value will be the "unslept"
amount (the requested time minus the time actually slept) in seconds.
Page 1 Reliant UNIX 5.44 Printed 11/98
sleep(3C) sleep(3C)
SEE ALSO
alarm(2), pause(2), sigaction(2), signal(2), wait(2), ualarm(3),
usleep(3), getitimer(3C), sigsetjmp(3C), unistd(4).
Page 2 Reliant UNIX 5.44 Printed 11/98