aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2021-03-11 15:42:09 +0000
committerWarner Losh <imp@FreeBSD.org>2021-03-11 16:45:10 +0000
commite52368365db3c0a696b37bfc09d08b7093b41b57 (patch)
tree3671f2cc37528d93c9b7bfd4bc34d8946d6e546e /share
parentdc0119c28194b537cfa2ad95ce2e62589da7ceb0 (diff)
downloadsrc-e52368365db3c0a696b37bfc09d08b7093b41b57.tar.gz
src-e52368365db3c0a696b37bfc09d08b7093b41b57.zip
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/Makefile1
-rw-r--r--share/man/man9/config_intrhook.921
2 files changed, 21 insertions, 1 deletions
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index fb010231d710..52a5d373a417 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -859,6 +859,7 @@ MLINKS+=condvar.9 cv_broadcast.9 \
condvar.9 cv_wait_unlock.9 \
condvar.9 cv_wmesg.9
MLINKS+=config_intrhook.9 config_intrhook_disestablish.9 \
+ config_intrhook.9 config_intrhook_drain.9 \
config_intrhook.9 config_intrhook_establish.9 \
config_intrhook.9 config_intrhook_oneshot.9
MLINKS+=contigmalloc.9 contigmalloc_domainset.9 \
diff --git a/share/man/man9/config_intrhook.9 b/share/man/man9/config_intrhook.9
index 0414ad88218a..6892a089b00f 100644
--- a/share/man/man9/config_intrhook.9
+++ b/share/man/man9/config_intrhook.9
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 10, 2017
+.Dd March 8, 2021
.Dt CONFIG_INTRHOOK 9
.Os
.Sh NAME
@@ -40,6 +40,8 @@ but before root is mounted
.Fn config_intrhook_establish "struct intr_config_hook *hook"
.Ft void
.Fn config_intrhook_disestablish "struct intr_config_hook *hook"
+.Ft int
+.Fn config_intrhook_drain "struct intr_config_hook *hook"
.Ft void
.Fn config_intrhook_oneshot "ich_func_t func" "void *arg"
.Sh DESCRIPTION
@@ -55,6 +57,23 @@ The
function removes the entry from the hook queue.
.Pp
The
+.Fn config_intrhook_drain
+function removes the entry from the hook queue in a safe way.
+If the hook is not currently active it removes
+.Fa hook
+from the hook queue and returns
+.Vt ICHS_QUEUED .
+If the hook is active, it waits for the hook to complete before returning
+.Vt ICHS_RUNNING .
+If the hook has previously completed, it returns
+.Vt ICHS_DONE .
+Because a
+.Vt config_intrhook
+is undefined prior to
+.Fn config_intrhook_establish ,
+this function may only be called after that function has returned.
+.Pp
+The
.Fn config_intrhook_oneshot
function schedules a function to be run as described for
.Fn config_intrhook_establish ;