NAME
usleep
—
suspend thread execution for an
interval measured in microseconds
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include
<unistd.h>
int
usleep
(useconds_t
microseconds);
DESCRIPTION
The
usleep
()
function suspends execution of the calling thread until either
microseconds microseconds have elapsed or a signal is
delivered to the thread and its action is to invoke a signal-catching
function or to terminate the process. System activity or limitations may
lengthen the sleep by an indeterminate amount.
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. Also, this implementation does not put a limit on the value of microseconds (other than that limited by the size of the useconds_t type); some other platforms require it to be less than one million.
NOTE
The
usleep
()
function is obsolescent. Use
nanosleep(2) instead.
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.
SEE ALSO
HISTORY
The usleep
() function appeared in
4.3BSD.