usleep(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
USLEEP(3)               NetBSD Library Functions Manual              USLEEP(3)

usleep -- suspend execution for interval of microseconds
Standard C Library (libc, -lc)
#include <unistd.h> int usleep(useconds_t microseconds);
This interface is obsoleted by nanosleep(2). The usleep() function suspends execution of the calling process until either the number of microseconds specified by microseconds have elapsed or a signal is delivered to the calling process and its action is to invoke a signal catching function or to terminate the process. The sus- pension time may be longer than requested due to the scheduling of other activity by the system.
On successful completion, usleep() returns 0. Otherwise, it returns -1 and sets errno to indicate the error.
The usleep() function may fail if: [EINTR] usleep was interrupted by the delivery of a signal.
nanosleep(2), sleep(3)
The usleep() function conforms to X/Open Portability Guide Issue 4, Version 2 (``XPG4.2''). It later appeared in the POSIX standard, but in IEEE Std 1003.1-2004 (``POSIX.1'') it was marked as legacy and the use of nanosleep(2) was recommended instead. The IEEE Std 1003.1-2008 (``POSIX.1'') revision removed usleep() from the specification.
The usleep() function appeared in 4.3BSD.
In IEEE Std 1003.1-2004 (``POSIX.1''), usleep was limited to values of microseconds less than one million. Some implementations, including NetBSD before 10.1, fail immediately with EINVAL -- and don't sleep at all -- if microseconds is one million or greater. NetBSD 10.99 April 22, 2024 NetBSD 10.99
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.