NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES
#include <time.h>int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
The nanosleep function causes the current thread to be suspended from execution for a period specified in the rqtp argument. The suspension time may be longer than requested because the argument value is rounded up to an integer multiple of the resolution of the system realtime clock (CLOCK_REALTIME) or due to scheduling of other activities in the system.
If the current thread is aborted (see threadAbort(2K)) while suspended, nanosleep will return immediately with errno set to EINTR. In this case, if the rmtp argument is not NULL, the time remaining before nanosleep would have terminated is normally stored at the location referenced by rmtp. (NOTE: thread abort is not directly supported by the CHORUS/POSIX Micro Realtime Profile (see mrtp(3POSIX))..
Upon normal completion after the requested time has elapsed, nanosleep returns zero. Otherwise, if nanosleep returned prematurely due to an abort or if any other error is detected, a value of -1 is returned and errno is set to indicate the error condition.
A pointer argument contains an address outside the current actor's address space.
nanosleep was interrupted by an abort.
The rqtp argument is NULL, or the time specification referenced by rqtp contains an invalid value.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | ATTRIBUTES