Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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	speci-
       fied 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 re-
       quested 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 sig-
       nal, the	suspension time	will not be less than the  time	 specified  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 indicate
       the interruption. If the	rmtp argument is non-NULL, the timespec	struc-
       ture referenced by it is	updated	to contain the amount of time  remain-
       ing 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  er-
       ror.

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  im-
		       plementation.

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)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=nanosleep&sektion=3rt&manpath=SunOS+5.10>

home | help