| USLEEP(3) | Library Functions Manual | USLEEP(3) |
usleep — suspend
process execution for interval measured in microseconds
#include
<unistd.h>
int
usleep(useconds_t
microseconds);
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:
EINTR]A microsecond is 0.000001 seconds.
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 |