|SLEEP(3)||Library Functions Manual||SLEEP(3)|
sleep() function suspends execution of the calling process until either seconds seconds have elapsed or a signal is delivered to the 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.
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
sleep() function returns because the requested time has elapsed, the value returned will be zero. If the
sleep() function returns due to the delivery of a signal, the value returned will be the unslept amount (the request time minus the time actually slept) in seconds.
sleep() function conforms to IEEE Std 1003.1-1990 (“POSIX.1”).
sleep() system call first appeared in Version 3 AT&T UNIX. In Version 7 AT&T UNIX, it was removed and replaced by a C library implementation based on signal(3) and alarm(3). For OpenBSD 2.1, it was reimplemented as a wrapper around the nanosleep(2) system call.
|February 21, 2014||OpenBSD-current|