 f14fb60209
			
		
	
	
		f14fb60209
		
	
	
	
	
		
			
			* Updating common/lib * Updating lib/csu * Updating lib/libc * Updating libexec/ld.elf_so * Corrected test on __minix in featuretest to actually follow the meaning of the comment. * Cleaned up _REENTRANT-related defintions. * Disabled -D_REENTRANT for libfetch * Removing some unneeded __NBSD_LIBC defines and tests Change-Id: Ic1394baef74d11b9f86b312f5ff4bbc3cbf72ce2
		
			
				
	
	
		
			166 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"	$NetBSD: nanosleep.2,v 1.13 2012/10/08 18:08:40 njoly Exp $
 | |
| .\"
 | |
| .\" Copyright (c) 1986, 1991, 1993
 | |
| .\"	The Regents of the University of California.  All rights reserved.
 | |
| .\"
 | |
| .\" Redistribution and use in source and binary forms, with or without
 | |
| .\" modification, are permitted provided that the following conditions
 | |
| .\" are met:
 | |
| .\" 1. Redistributions of source code must retain the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer.
 | |
| .\" 2. Redistributions in binary form must reproduce the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer in the
 | |
| .\"    documentation and/or other materials provided with the distribution.
 | |
| .\" 3. Neither the name of the University nor the names of its contributors
 | |
| .\"    may be used to endorse or promote products derived from this software
 | |
| .\"    without specific prior written permission.
 | |
| .\"
 | |
| .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 | |
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | |
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | |
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 | |
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | |
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | |
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | |
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | |
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | |
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | |
| .\" SUCH DAMAGE.
 | |
| .\"
 | |
| .\"     @(#)sleep.3	8.1 (Berkeley) 6/4/93
 | |
| .\"
 | |
| .Dd October 1, 2012
 | |
| .Dt NANOSLEEP 2
 | |
| .Os
 | |
| .Sh NAME
 | |
| .Nm nanosleep
 | |
| .Nd high resolution sleep
 | |
| .Sh LIBRARY
 | |
| .Lb libc
 | |
| .Sh SYNOPSIS
 | |
| .In time.h
 | |
| .Ft int
 | |
| .Fn clock_nanosleep "clockid_t clock_id" "int flags" "const struct timespec *rqtp" "struct timespec *rmtp"
 | |
| .Ft int
 | |
| .Fn nanosleep "const struct timespec *rqtp" "struct timespec *rmtp"
 | |
| .Sh DESCRIPTION
 | |
| If the
 | |
| .Dv TIMER_ABSTIME
 | |
| flag is not set in the
 | |
| .Fa flags
 | |
| argument, then
 | |
| .Fn clock_nanosleep
 | |
| suspends execution of the calling thread until either the number of
 | |
| seconds and nanoseconds specified in the
 | |
| .Fa rqtp
 | |
| argument have elapsed using the clock in the
 | |
| .Fa clock_id
 | |
| argument, or a signal is delivered to the calling process and its
 | |
| action is to invoke a signal catching function or to terminate the
 | |
| process.
 | |
| .Pp
 | |
| If the
 | |
| .Dv TIMER_ABSTIME
 | |
| flag is set in the
 | |
| .Fa flags
 | |
| argument, then
 | |
| .Fn clock_nanosleep
 | |
| suspends execution of the calling thread until either the value
 | |
| of the clock specified in the
 | |
| .Fa clock_id
 | |
| argument reaches the value of the
 | |
| .Fa rqtp
 | |
| argument in seconds and nanoseconds,
 | |
| or a signal is delivered to the calling process and its
 | |
| action is to invoke a signal catching function or to terminate the
 | |
| process.
 | |
| .Pp
 | |
| The suspension time may be longer than requested due to the
 | |
| scheduling of other activity by the system.
 | |
| .Pp
 | |
| The
 | |
| .Fn nanosleep
 | |
| function behaves like
 | |
| .Fn clock_nanosleep
 | |
| with the
 | |
| .Fa clock_id
 | |
| argument equal to
 | |
| .Dv CLOCK_MONOTONIC
 | |
| and the
 | |
| .Fa flags
 | |
| argument having
 | |
| .Dv TIMER_ABSTIME
 | |
| not set.
 | |
| .Pp
 | |
| The
 | |
| .Em struct timespec
 | |
| is described in
 | |
| .Xr timespec 3 .
 | |
| The
 | |
| .Fa clock_id
 | |
| specified is the time source.
 | |
| .Sh RETURN VALUES
 | |
| If the
 | |
| .Fn clock_nanosleep
 | |
| or the
 | |
| .Fn nanosleep
 | |
| functions return because the requested time has elapsed, the value
 | |
| returned will be zero.
 | |
| .Pp
 | |
| If the
 | |
| .Fn clock_nanosleep
 | |
| or the
 | |
| .Fn nanosleep
 | |
| functions return due to the delivery of a signal, the value returned
 | |
| will be the \-1, and the global variable
 | |
| .Va errno
 | |
| will be set to indicate the interruption.
 | |
| If
 | |
| .Fa rmtp
 | |
| is
 | |
| .Pf non- Dv NULL ,
 | |
| the timespec structure it references is updated to contain the
 | |
| unslept amount (the request time minus the time actually slept).
 | |
| .Sh ERRORS
 | |
| If any of the following conditions occur, the
 | |
| .Nm
 | |
| function shall return \-1 and set
 | |
| .Va errno
 | |
| to the corresponding value.
 | |
| .Bl -tag -width Er
 | |
| .It Bq Er EFAULT
 | |
| Either
 | |
| .Fa rqtp
 | |
| or
 | |
| .Fa rmtp
 | |
| points to memory that is not a valid part of the process
 | |
| address space.
 | |
| .It Bq Er EINTR
 | |
| .Nm
 | |
| was interrupted by the delivery of a signal.
 | |
| .It Bq Er EINVAL
 | |
| .Fa rqtp
 | |
| specified a nanosecond value less than zero or greater than 1000 million.
 | |
| .It Bq Er ENOSYS
 | |
| .Nm
 | |
| is not supported by this implementation.
 | |
| .It Bq Er ENOTSUP
 | |
| for
 | |
| .Fn clock_nanosleep ,
 | |
| the clock specified in the
 | |
| .Fa clock_id
 | |
| argument is not supported.
 | |
| .El
 | |
| .Sh SEE ALSO
 | |
| .Xr sleep 3 ,
 | |
| .Xr timespec 3
 | |
| .Sh STANDARDS
 | |
| The
 | |
| .Fn nanosleep
 | |
| function conforms to
 | |
| .St -p1003.1b-93 .
 | |
| The
 | |
| .Fn clock_nanosleep
 | |
| function conforms to
 | |
| .St -p1003.1j-2000 .
 |