nanosleep(3)nanosleep(3)NAMEnanosleep - Suspends a process from execution for the specified timer
interval (P1003.1b)
SYNOPSIS
#include <time.h>
int nanosleep ( const struct timespec *rqtp, struct timespec *rmtp);
LIBRARY
Realtime Library (librt.so, librt.a)
PARAMETERS
A pointer to the timespec data structure that defines the time interval
during which the calling process is suspended. A pointer to the time‐
spec data structure that receives the amount of time remaining in the
previously requested interval, or zero if the full interval has
elapsed.
DESCRIPTION
The nanosleep function suspends a process until one of the following
conditions is met: The time interval specified in rqtp has elapsed. A
signal is delivered to the calling process and the action is to deliver
a signal to 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 multiple of the clock resolution, or
due to the scheduling of other activity. Except when it is interrupted
by a signal, the suspension time is not less than the time specified by
the rqtp argument (as measured by the system clock).
RETURN VALUES
When the nanosleep function returns because the requested time has
elapsed, the call is successful and a value of 0 (zero) is returned.
If the nanosleep function returns because it was interrupted by a sig‐
nal, a value of -1 is returned. If the rmtp argument is not NULL, the
timespec structure referenced by the call is updated to contain the
time remaining in the interval.
If the rmtp argument is NULL, the remaining time is not returned.
On an unsuccessful call, a value of -1 is returned and errno is set to
indicate that an error occurred.
ERRORS
The nanosleep function fails under the following conditions: The
nanosleep function was interrupted by a signal. The rqtp argument
specified a nanosecond value less than zero or greater than or equal to
1000 million.
SEE ALSO
Functions: sleep(1)
Guide to Realtime Programming
nanosleep(3)