function suspends execution of the calling thread until either
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
by pausing for
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.