USLEEP(3)

NAME
usleep - suspend process execution for interval measured in microseconds

SYNOPSIS
#include <unistd.h>
int
usleep(useconds_t microseconds);

DESCRIPTION
This interface is obsoleted by nanosleep(2).

The usleep() function suspends execution of the calling process until either microseconds microseconds 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 microseconds microseconds 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.

RETURN VALUES

ERRORS
The usleep() function will fail if:

[EINTR]
    A signal was delivered to the process and its action was to invoke a signal-catching function.

NOTES
A microsecond is 0.000001 seconds.

SEE ALSO
sleep(1), nanosleep(2), sleep(3)

STANDARDS
The usleep() function conforms to xpg4.2.

HISTORY
The usleep() function appeared in 4.3BSD.

CAVEATS
Some implementations of usleep() return an error if microseconds is greater than or equal to 1,000,000. Portable applications should be written with this limitation in mind.