summaryrefslogtreecommitdiff
path: root/lib/libc
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1997-08-12 17:53:00 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1997-08-12 17:53:00 +0000
commitbc044b88dde9438d631091216daec16ab3605ebc (patch)
tree25d249661e070e15de85f3da9fd04c20e6fd0075 /lib/libc
parent28dce04d19759bb750841da9630cc04b5466f4a3 (diff)
Notes
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/gen/sleep.313
-rw-r--r--lib/libc/gen/usleep.331
2 files changed, 24 insertions, 20 deletions
diff --git a/lib/libc/gen/sleep.3 b/lib/libc/gen/sleep.3
index ab7e6f0a9c29f..22a0ab57fff04 100644
--- a/lib/libc/gen/sleep.3
+++ b/lib/libc/gen/sleep.3
@@ -53,7 +53,9 @@ System activity or time spent in processing the
call may lengthen the sleep by a second.
.Pp
If a timer is already running on the process its state is unaltered by
-this sleep implementation.
+this
+.Fn sleep
+implementation.
If the value
.Fa seconds
is more than or equal to the remaining clock time for the running timer,
@@ -65,10 +67,10 @@ This function is implemented using
by pausing for
.Fa seconds
of time or until any signal occurse.
-For compatibility reasons during
+For compatibility reasons SIGALRM signal unblocked and handled
+internally during
.Fn sleep
-call SIGALRM handler is temporary set to the
-function which does nothing but returns.
+call.
.Sh RETURN VALUES
The
.Fn sleep
@@ -79,8 +81,11 @@ needed to be passed to a subsequent sleep to complete the necessary delay.
repeatedly until it returns zero may busy-wait until a timer
is available.
.Sh SEE ALSO
+.Xr alarm 3 ,
+.Xr setitimer 2 ,
.Xr signal 3 ,
.Xr signanosleep 2 ,
+.Xr ualarm 3 ,
.Xr usleep 3
.Sh HISTORY
A
diff --git a/lib/libc/gen/usleep.3 b/lib/libc/gen/usleep.3
index 66b317a3b704f..5b539f996788d 100644
--- a/lib/libc/gen/usleep.3
+++ b/lib/libc/gen/usleep.3
@@ -52,30 +52,29 @@ of time.
System activity or time spent in processing the
call may lengthen the sleep slightly.
.Pp
-If a timer is already running on the process its state is saved.
+If a timer is already running on the process its state is unaltered by
+this
+.Fn usleep
+implementation.
If the value
.Fa microseconds
-is more than or equal to the remaining clock time for the saved timer,
+is more than or equal to the remaining clock time for the running timer,
the sleep time is set to
the remaining clock time.
-The state of the previous timer
-is restored after
+.Pp
+This function is implemented using
+.Xr signanosleep 2
+by pausing for
.Fa microseconds
-has passed.
+of time or until SIGALRM signal occurse.
+.Sh NOTES
.Pp
-This routine is implemented using
-.Xr setitimer 2 ;
-it requires eight system calls each time it is invoked.
-A similar but less compatible function can be obtained with a single
-.Xr select 2 ;
-such a function would not restart after signals, but would not interfere
-with other uses of
-.Xr setitimer .
+A microsecond is 0.000001 seconds.
.Sh SEE ALSO
-.Xr getitimer 2 ,
-.Xr setitimer 2 ,
-.Xr sigpause 2 ,
.Xr alarm 3 ,
+.Xr setitimer 2 ,
+.Xr signal 3 ,
+.Xr signanosleep 2 ,
.Xr sleep 3 ,
.Xr ualarm 3
.Sh HISTORY