usleep(3) BSD Library Functions Manual usleep(3)
usleep -- suspend thread execution for an interval measured in microsec- onds
Standard C Library (libc, -lc)
#include <unistd.h> int usleep(useconds_t useconds);
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.
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 signal was delivered to the process and its action was to invoke a signal-catching function.
The usleep() function appeared in 4.3BSD. BSD February 13, 1998 BSD
Mac OS X 10.8 - Generated Fri Aug 31 18:17:13 CDT 2012