NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | USAGE | ATTRIBUTES | SEE ALSO
#include <unistd.h>int usleep(useconds_t useconds);
The usleep() function suspends the current process from execution for the number of microseconds specified by the useconds argument. (A microsecond is .000001 seconds.) Because of other activity, or because of the time spent in processing the call, the actual suspension time may be longer than the amount of time specified.
The useconds argument must be less than 1,000,000. If the value of useconds is 0, then the call has no effect.
The usleep() function uses the process's real-time interval timer to indicate to the system when the process should be woken up.
There is one real-time interval timer for each process. The usleep() function will not interfere with a previous setting of this timer. If the process has set this timer prior to calling usleep(), and if the time specified by useconds equals or exceeds the interval timer's prior setting, the process will be woken up shortly before the timer was set to expire.
Interactions between usleep( ) and either alarm(2) or sleep(3C) are unspecified.
On successful completion, usleep() returns 0. Otherwise, it returns -1 and sets errno to indicate the error.
The usleep() function may fail if:
The time interval specified 1,000,000 or more microseconds.
The usleep() function is included for its historical usage. The setitimer(2) function is preferred over this function.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
MT-Level | Unsafe |
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | USAGE | ATTRIBUTES | SEE ALSO