summaryrefslogtreecommitdiffstats
path: root/share/man/man9/sx.9
diff options
context:
space:
mode:
authorjkoshy <jkoshy@FreeBSD.org>2004-01-01 05:16:35 +0000
committerjkoshy <jkoshy@FreeBSD.org>2004-01-01 05:16:35 +0000
commiteb1c647689df17cbf6752dd1df21a8f6beedba6a (patch)
tree4b4c139c00788bfee94649246f0c5425ff351173 /share/man/man9/sx.9
parenta4ef00f2a300b8a76ad2a9a6b5426f7d00d68780 (diff)
downloadFreeBSD-src-eb1c647689df17cbf6752dd1df21a8f6beedba6a.zip
FreeBSD-src-eb1c647689df17cbf6752dd1df21a8f6beedba6a.tar.gz
Add "options INVARIANTS" and "options INVARIANT_SUPPORT" to the
synopsis, with supporting text in the body of the manual page. Add a cross-reference to panic(9) for completeness. Reviewed by: ru (synopsis changes)
Diffstat (limited to 'share/man/man9/sx.9')
-rw-r--r--share/man/man9/sx.918
1 files changed, 14 insertions, 4 deletions
diff --git a/share/man/man9/sx.9 b/share/man/man9/sx.9
index 6da1adf..12158e7 100644
--- a/share/man/man9/sx.9
+++ b/share/man/man9/sx.9
@@ -68,6 +68,9 @@
.Fn sx_try_upgrade "struct sx *sx"
.Ft void
.Fn sx_downgrade "struct sx *sx"
+.Pp
+.Cd "options INVARIANTS"
+.Cd "options INVARIANT_SUPPORT"
.Ft void
.Fn sx_assert "struct sx *sx" "int what"
.In sys/kernel.h
@@ -121,11 +124,17 @@ will return 0 if the shared lock cannot be upgraded to an exclusive lock
immediately; otherwise the exclusive lock will be acquired and a non-zero value
will be returned.
.Pp
-The
+When compiled with
+.Cd "options INVARIANTS"
+and
+.Cd "options INVARIANT_SUPPORT" ,
+the
.Fn sx_assert
-function tests specified conditions and panics if they are not met and the
-kernel is compiled with
-.Dv INVARIANTS .
+function tests
+.Ar sx
+for the assertions specified in
+.Ar what
+and panics if they are not met.
The following assertions are supported:
.Bl -tag -width ".Dv SX_XLOCKED"
.It Dv SX_LOCKED
@@ -166,6 +175,7 @@ It is allowed to own a shared lock or an exclusive lock while sleeping.
.Xr condvar 9 ,
.Xr mtx_pool 9 ,
.Xr mutex 9 ,
+.Xr panic 9 ,
.Xr sema 9
.Sh BUGS
Currently there is no way to assert that a lock is not held.
OpenPOWER on IntegriCloud