nanosleep(2)nanosleep(2)NAMEnanosleep() - high resolution sleep
SYNOPSISDESCRIPTION
The function causes the current thread to be suspended from execution
until either the time interval specified by the argument 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 that requested because the argument
value is rounded up to an integer multiple of the sleep resolution or
because of the scheduling of other activity by the system. However,
with the exception of the case of being interrupted by a signal, the
suspension time will not be less than the time specified by as measured
by the system clock,
The use of the function has no effect on the action or blockage of any
signal.
RETURN VALUE
If the function returns because the requested time has elapsed, its
return value is zero.
If the function returns because it has been interrupted by a signal,
the function returns a value of −1 and sets to indicate the interrup‐
tion. If the argument is non-NULL, the timespec structure referenced
by it is updated to contain the amount of time remaining in the inter‐
val (the requested time minus the time actually slept). If the argu‐
ment is NULL, the remaining time is not returned.
If fails, it returns a value of −1 and sets to indicate the error.
ERRORS
If any of the following conditions occur, the function returns −1 and
sets (see errno(2)) to the corresponding value:
The or arguments specify an invalid address.
was interrupted by a signal.
The argument specified a nanosecond value less than zero
or greater than or equal to 1000 million.
The function
is not supported by this implementation.
EXAMPLES
Suspend execution of the current thread for half a second:
AUTHOR
was derived from the proposed IEEE POSIX P1003.4 Standard, Draft 14.
SEE ALSOclocks(2), timers(2), sleep(3C).
STANDARDS CONFORMANCEnanosleep(2)