usleep(2)usleep(2)NAMEusleep - suspend execution for an interval
SYNOPSISDESCRIPTION
The function will cause the calling thread to be suspended from execu‐
tion until either the number of real-time microseconds specified by the
argument useconds has elapsed, or a signal is delivered to the calling
thread 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 activities by the system, or because of the time spent in pro‐
cessing the call.
The useconds argument must be less than 1,000,000. If the value of
useconds is 0, then the call has no effect.
If a signal is generated for the calling process during execution of
and if the signal is being ignored or blocked from delivery, it is
unspecified whether returns when the signal is scheduled; if the signal
is being blocked, it is also unspecified whether it remains pending
after returns or it is discarded.
If a signal is generated for the calling process during execution of
except as a result of a prior call to and if the signal is not being
ignored or blocked from delivery, it is unspecified whether that signal
has any effect other than causing to return.
If a signal-catching function interrupts and examines or changes either
the time a is scheduled to be generated, the action associated with the
signal, or whether the signal is blocked from delivery, the results are
unspecified.
If a signal-catching function interrupts and calls or to restore an
environment saved prior to the call, the action associated with the
signal and the time at which a signal is scheduled to be generated are
unspecified, it is also unspecified whether the signal is blocked,
unless the process's signal mask is restored as part of the environ‐
ment.
Implementations may place limitations on the granularity of timer val‐
ues. For each interval timer, if the requested timer value requires a
finer granularity than the implementation supports, the actual timer
value will be rounded up to the next supported value.
Interactions between and any of the following are unspecified:
RETURN VALUE
On successful completion, returns 0. Otherwise, it returns −1 and sets
to indicate the error.
ERRORS
The function may fail if:
[EINVAL] The time interval specified 1,000,000
or more microseconds.
APPLICATION USAGE
The function is included for its historical usage. The function is pre‐
ferred over this function. Multi-threaded applications are recommended
to use instead of is also a thread canceling point.
SEE ALSOalarm(2), getitimer(2), nanosleep(2), sigaction(2), sleep(3C),
timer_create(2), timer_delete(2), timer_getoverrun(2), timer_get‐
time(2), timer_settime(2), <unistd.h>.
CHANGE HISTORY
First released in Issue 4, Version 2.
usleep(2)