NAME
usleep
—
suspend process execution for interval
measured in microseconds
SYNOPSIS
#include
<unistd.h>
int
usleep
(useconds_t
microseconds);
DESCRIPTION
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
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.
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
STANDARDS
The usleep
() function conforms to
X/Open Portability Guide Issue 4, Version 2
(“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.