Loading...
--- Libc/Libc-825.25/sys/nanosleep.2
+++ Libc/Libc-262/sys/nanosleep.2
@@ -40,39 +40,28 @@
.Os
.Sh NAME
.Nm nanosleep
-.Nd suspend thread execution for an interval measured in nanoseconds
+.Nd suspend process execution for an interval measured in nanoseconds
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
.In time.h
.Ft int
-.Fo nanosleep
-.Fa "const struct timespec *rqtp"
-.Fa "struct timespec *rmtp"
-.Fc
+.Fn nanosleep "const struct timespec *rqtp" "struct timespec *rmtp"
.Sh DESCRIPTION
-The
-.Fn nanosleep
-function causes the calling thread to sleep
-for the amount of time specified in
-.Fa 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
-.Fn nanosleep
-to terminate the sleep early, regardless of the
+.Fn Nanosleep
+causes the process to sleep for the specified time. An unmasked signal will
+cause it to terminate the sleep early, regardless of the
.Dv SA_RESTART
value on the interrupting signal.
.Sh RETURN VALUES
-If
+If the
.Fn nanosleep
-returns because the requested time has elapsed,
-the value returned will be zero.
+function returns because the requested time has elapsed, the value
+returned will be zero.
.Pp
-If
+If the
.Fn nanosleep
-returns due to the delivery of a signal, the value returned
+function returns 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.
@@ -87,6 +76,13 @@
.Fn nanosleep
call fails if:
.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
.Fn nanosleep
was interrupted by the delivery of a signal.
@@ -94,6 +90,9 @@
.Fa rqtp
specified a nanosecond value less than zero
or greater than or equal to 1000 million.
+.It Bq Er ENOSYS
+.Fn nanosleep
+is not supported by this implementation.
.El
.Sh SEE ALSO
.Xr sigsuspend 2 ,