USLEEP(3) Library Functions Manual USLEEP(3)
usleep - suspend execution for interval in microseconds
Suspend the current process for the number of microseconds specified by
the argument. The actual suspension time may be an arbitrary amount
longer because of other activity in the system, or because of the time
spent in processing the call.
The routine is implemented by setting an interval timer and pausing
until it occurs. The previous state of this timer is saved and
restored. If the sleep time exceeds the time to the expiration of the
previous timer, the process sleeps only until the signal would have
occurred, and the signal is sent a short time later.
This routine is implemented using setitimer() (see getitimer(2)); it
requires eight system calls each time it is invoked. A similar but
less compatible function can be obtained with a single select(2); it
would not restart after signals, but would not interfere with other
uses of setitimer.
getitimer(2), sigpause(2V), alarm(3V), sleep(3V), ualarm(3)
6 October 1987 USLEEP(3)