NAME

SYNOPSIS

DESCRIPTION

The
sleep()
function will cause the calling thread
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 thread
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
execution 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
execution 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 signal 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.

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.