The
sleep()
function suspends execution of the calling thread until either
seconds
seconds have elapsed or a signal is delivered to the thread and its
action is to invoke a signal-catching function or to terminate the
thread or process.
System activity may lengthen the sleep by an indeterminate amount.
This function is implemented using
nanosleep(2)
by pausing for
seconds
seconds or until a signal occurs.
Consequently, in this implementation,
sleeping has no effect on the state of process timers,
and there is no special handling for SIGALRM.