NAME
usleep —
suspend execution for interval
of 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
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 suspension time may be longer than requested due
to the scheduling of other activity by the system.
The
microseconds argument must be less than 1,000,000. If
the value of
microseconds is 0, then the call has no
effect.
RETURN VALUES
On successful completion,
usleep() returns 0. Otherwise, it
returns -1 and sets
errno to indicate the error.
ERRORS
The
usleep() function may fail if:
-
-
- [
EINVAL
]
- The microseconds interval specified
1,000,000 or more microseconds.
SEE ALSO
nanosleep(2),
sleep(3)
STANDARDS
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.
HISTORY
The
usleep() function appeared in
4.3BSD.