summaryrefslogtreecommitdiffstats
path: root/share/man/man9/sleep.9
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-08-23 23:37:31 +0000
committerjhb <jhb@FreeBSD.org>2001-08-23 23:37:31 +0000
commit98adb2ab0c8001dbe9204b233d135224c985b4be (patch)
tree145262b1ea4adc6b1e448a13eeb56e9d5d6c7094 /share/man/man9/sleep.9
parent6208b149df9da83dc98dacee6a776a958a15f235 (diff)
downloadFreeBSD-src-98adb2ab0c8001dbe9204b233d135224c985b4be.zip
FreeBSD-src-98adb2ab0c8001dbe9204b233d135224c985b4be.tar.gz
Remove references to asleep/await.
Diffstat (limited to 'share/man/man9/sleep.9')
-rw-r--r--share/man/man9/sleep.9113
1 files changed, 0 insertions, 113 deletions
diff --git a/share/man/man9/sleep.9 b/share/man/man9/sleep.9
index 3aa8080..6404eb2 100644
--- a/share/man/man9/sleep.9
+++ b/share/man/man9/sleep.9
@@ -32,8 +32,6 @@
.Nm sleep ,
.Nm msleep ,
.Nm tsleep ,
-.Nm asleep ,
-.Nm await ,
.Nm wakeup
.Nd wait for events
.Sh SYNOPSIS
@@ -44,10 +42,6 @@
.Fn tsleep "void *ident" "int priority" "const char *wmesg" "int timo"
.Ft int
.Fn msleep "void *ident" "struct mtx *mtx" "int priority" "const char *wmesg" "int timo"
-.Ft int
-.Fn asleep "void *ident" "int priority" "const char *wmesg" "int timo"
-.Ft int
-.Fn await "int priority" "int timo"
.Ft void
.Fn wakeup "void *ident"
.Ft void
@@ -127,102 +121,6 @@ parameter will not be entered before returning. The mutex is
used to ensure that a condition can be checked atomicly, and
that the current process can be suspended without missing a
change to the condition, or an associated wakeup.
-.Pp
-.Nm Asleep
-implements the new asynchronous sleep function. It takes the same arguments
-as
-.Fn tsleep
-and places the process on the appropriate wait queue, but
-.Fn asleep
-leaves the process runnable and returns immediately. The caller is then
-expected to, at some point in the future, call
-.Fn await
-to actually wait for the previously queued wait condition.
-If
-.Fn asleep
-is called several times, only the most recent call is effective.
-.Fn asleep
-may be called with an
-.Ar ident
-value of NULL
-to remove any previously queued condition.
-.Pp
-.Nm Await
-implements the new asynchronous wait function. When
-.Fn asleep
-is called on an identifier it associates the process with that
-identifier but does not block.
-.Fn await
-will actually block the process until
-.Fn wakeup
-is called on that identifier any time after the
-.Fn asleep .
-If
-.Fn wakeup
-is called after you
-.Fn asleep
-but before you
-.Fn await
-then the
-.Fn await
-call is effectively a NOP.
-If
-.Fn await
-is called multiple times without an intervening
-.Fn asleep ,
-the
-.Fn await
-is effectively a NOP but will also call
-.Fn mi_switch
-for safety. The
-.Fn await
-function allows you to override the priority and timeout values to be used.
-If the value -1 is specified for an argument, the value is taken from the
-previous
-.Fn asleep
-call. If -1 is passed for the priority you must be prepared to catch signal
-conditions if the prior call to
-.Fn asleep
-specified it in its priority. If -1 is passed for the timeout you must be
-prepared to catch a timeout condition if the prior call to
-.Fn asleep
-specified a timeout. When you use -1, it is usually a good idea to not make
-assumptions as to the arguments used by the prior
-.Fn asleep
-call.
-.Pp
-The
-.Fn asleep
-and
-.Fn await
-functions are mainly used by the kernel to shift the burden of blocking
-away from extremely low level routines and to push it onto their callers.
-This in turn allows more complex interlocking code to
-.Em backout
-of a temporary resource failure
-(such as lack of memory) in order to release major locks prior to actually
-blocking, and to then retry the operation on wakeup. This key feature is
-expected to be heavily used in SMP situations in order to allow code to make
-better use of spinlocks. A spinlock, by its very nature, cannot be used
-around code that might block. It is hoped that these capabilities will
-make it easier to migrate the SMP master locks deeper into the kernel.
-.Pp
-These routines may also be used to avoid nasty spl*() calls to get around
-race conditions with simple conditional test/wait interlocks. You simply
-call
-.Fn asleep
-prior to your test, then conditionally
-.Fn await
-only if the test fails. It is usually a good idea to cancel an
-.Fn asleep
-if you wind up never calling the related
-.Fn await ,
-but it is not required. If you do not want to waste cpu calling
-.Fn asleep
-unnecessarily, you can surround the whole thing with a second test. The
-race condition is still handled by the inside
-.Fn asleep
-call.
.Sh RETURN VALUES
See above.
.Sh SEE ALSO
@@ -237,12 +135,6 @@ appeared in a very early version of Unix.
appeared in
.Bx 4.4 .
.Pp
-.Nm Asleep Ns / Ns Nm await
-first appeared in
-.Fx 3.0
-and is designed to shift the burden of blocking
-away from extremely low level routines and push it up to their callers.
-.Pp
.Nm Sleep
used to be the traditional form. It doesn't let you specify a timeout or a
.Ar wmesg ,
@@ -251,8 +143,3 @@ hence it has been discontinued.
.An -nosplit
This man page was written by
.An J\(:org Wunsch .
-.Nm Asleep
-and
-.Nm await
-were designed and written by
-.An Matthew Dillon .
OpenPOWER on IntegriCloud