Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

nanosleep(2) [mojave man page]

NANOSLEEP(2)						      BSD System Calls Manual						      NANOSLEEP(2)

NAME
nanosleep -- suspend thread execution for an interval measured in nanoseconds LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <time.h> int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); DESCRIPTION
The nanosleep() function causes the calling thread to sleep for the amount of time specified in rqtp (the actual time slept may be longer, due to system latencies and possible limitations in the timer resolution of the hardware). An unmasked signal will cause nanosleep() to ter- minate the sleep early, regardless of the SA_RESTART value on the interrupting signal. RETURN VALUES
If nanosleep() returns because the requested time has elapsed, the value returned will be zero. If nanosleep() returns due to the delivery of a signal, the value returned will be the -1, and the global variable errno will be set to indi- cate the interruption. If rmtp is non-NULL, the timespec structure it references is updated to contain the unslept amount (the request time minus the time actually slept). ERRORS
The nanosleep() call fails if: [EINTR] nanosleep() was interrupted by the delivery of a signal. [EINVAL] rqtp specified a nanosecond value less than zero or greater than or equal to 1000 million. SEE ALSO
sigsuspend(2), sleep(3) STANDARDS
The nanosleep() function conforms to IEEE Std 1003.1b-1993 (``POSIX.1''). BSD
April 17, 1997 BSD

Check Out this Related Man Page

nanosleep(3RT)						    Realtime Library Functions						    nanosleep(3RT)

NAME
nanosleep - 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 specified 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 multiple 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 spec- ified 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 indi- cate the interruption. If the rmtp argument is non-NULL, the timespec structure referenced by it is updated to contain the amount of time remaining 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 ALSO
sleep(3C), time.h(3HEAD), attributes(5), standards(5) SunOS 5.10 28 Jun 2002 nanosleep(3RT)
Man Page