## NAME

nanosleep - high resolution sleep

## SYNOPSIS

#include <time.h>

int nanosleep(const struct timespec *rqtp , struct timespec *rmtp );
struct timespec {
  time_t tv_sec; /* seconds */
  long tv_nsec; /* and nanoseconds */
};

## DESCRIPTION

nanosleep() suspends the current thread from execution until either the time interval specified by rqtp has elapsed. The suspension time may be longer than 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. The suspension time will not be less than the time specified by rqtp, as measured by the system clock, CLOCK_REALTIME.

## RETURN VALUES

If nanosleep() returns because the requested time has elapsed, it returns 0. If rmtp is non-NULL, the timespec structure referenced by rmtp will be updated to contain the remaining amount of time between rqtp and the time actually slept.

If any of the following error conditions occur, nanosleep() returns -1 and sets errno to indicate the error condition.

## ERRORS

EINTR
  The function was interrupted by a signal.
EINVAL
  rqtp specified a nanosecond value less than zero or greater than or equal to 1,000,000,000.

## SEE ALSO

sleep(), usleep() .

#### Home page (Kernel)

## < Copyright Rowebots Research Inc. and Multiprocessor Toolsmiths Inc. 1987-2018 >