USLEEP(3) BSD Library Functions Manual USLEEP(3)NAMEusleep — suspend thread execution for an interval measured in microsec‐
onds
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
int
usleep(useconds_t useconds);
DESCRIPTION
The usleep() function suspends execution of the calling thread until
either useconds microseconds have elapsed or a signal is delivered to the
thread whose action is to invoke a signal-catching function or to termi‐
nate the thread or process. The actual time slept may be longer, due to
system latencies and possible limitations in the timer resolution of the
hardware.
This function is implemented, using nanosleep(2), by pausing for useconds
microseconds or until a signal occurs. Consequently, in this implementa‐
tion, 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.
SEE ALSOnanosleep(2), sleep(3)HISTORY
The usleep() function appeared in 4.3BSD.
BSD February 13, 1998 BSD