NAME
usleep - suspend execution for interval
SYNOPSIS
unsigned int usleep(useconds)
unsigned int useconds;
DESCRIPTION
The current process is suspended from execution 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(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.
SEE ALSO
setitimer(2), getitimer(2), sigpause(2), ualarm(3),
sleep(3),
alarm(3)