nanosleep(3RT) Realtime Library Functions nanosleep(3RT)NAMEnanosleep - high resolution sleep
SYNOPSIS
cc [ flag... ] file... -lrt [ library... ]
#include <time.h>
int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
DESCRIPTION
The nanosleep() function causes the current thread
to be suspended from execution until either the time interval speci‐
fied by the rqtp 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
requested because the argument value is rounded up to an integer multi‐
ple of the sleep resolution or because of the scheduling of other
activity by the system. But, except for the case of being interrupted
by a signal, the suspension time will not be less than the time speci‐
fied by rqtp, as measured by the system clock, CLOCK_REALTIME.
The use of the nanosleep() function has no effect on the action or
blockage of any signal.
RETURN VALUES
If the nanosleep() function returns because the requested time has
elapsed, its return value is 0.
If the nanosleep() function returns because it has been interrupted by
a signal, the function returns a value of −1 and sets errno to indicate
the interruption. If the rmtp argument is non-NULL, the timespec struc‐
ture referenced by it is updated to contain the amount of time remain‐
ing in the interval (the requested time minus the time actually slept).
If the rmtp argument is NULL, the remaining time is not returned.
If nanosleep() fails, it returns −1 and sets errno to indicate the
error.
ERRORS
The nanosleep() function will fail if:
EINTR The nanosleep() function was interrupted by a signal.
EINVAL The rqtp argument specified a nanosecond value less
than zero or greater than or equal to 1000 million.
ENOSYS The nanosleep() function is not supported by this
implementation.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Standard │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOsleep(3C), time.h(3HEAD), attributes(5), standards(5)SunOS 5.10 28 Jun 2002 nanosleep(3RT)