OpenBSD manual page server

Manual Page Search Parameters

USLEEP(3) Library Functions Manual USLEEP(3)

usleepsuspend process execution for interval measured in microseconds

#include <unistd.h>

int
usleep(useconds_t microseconds);

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.

The usleep() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

The usleep() function will fail if:

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

A microsecond is 0.000001 seconds.

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

The usleep() function conforms to X/Open Portability Guide Issue 4, Version 2 (“XPG4.2”).

The usleep() function appeared in 4.3BSD.

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.

June 5, 2013 OpenBSD-current