int nanosleep (
const struct timespec *rqtp,
struct timespec *rmtp);
The nanosleep function suspends a process until one of the following conditions is met:
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 (as measured by the system clock) specified by the rqtp argument.
When the nanosleep function returns because the requested time has elapsed, the call is successful and a value of 0 is returned.
If the nanosleep function returns because it was interrupted by a signal, 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.
The nanosleep function fails under the following conditions:
Functions: sleep(1) delim off