NAME
usleep
—
suspend execution for interval of
microseconds
LIBRARY
library “libc”
SYNOPSIS
#include
<unistd.h>
int
usleep
(useconds_t
microseconds);
DESCRIPTION
Theusleep
()
function suspends execution of the calling process until either the number of
microseconds specified by microseconds have elapsed or a
signal is delivered to the calling 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.
The microseconds argument must be less than 1,000,000. If the value of microseconds is 0, then the call has no effect.
RETURN VALUES
On successful completion, usleep
() returns
0. Otherwise, it returns -1 and sets errno to indicate
the error.
ERRORS
The usleep
() function may fail if:
- [
EINVAL
] - The microseconds interval specified 1,000,000 or more microseconds.
SEE ALSO
STANDARDS
The usleep
() function conforms to
X/Open Portability Guide Issue 4, Version 2
(“XPG4.2”). It later appeared in the POSIX standard,
but in IEEE Std 1003.1-2004
(“POSIX.1”) it was marked as legacy and the use of
nanosleep(2) was recommended instead. The IEEE Std
1003.1-2008 (“POSIX.1”) revision removed
usleep
() from the specification.
HISTORY
The usleep
() function appeared in
4.3BSD.