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 microseconds);
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 imple- mentation 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.
The usleep() function is obsolescent. Use nanosleep(2) instead.
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.12.3 - Generated Sun Feb 5 16:42:59 CST 2017