aboutsummaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <dumbbell@FreeBSD.org>2026-04-12 17:20:25 +0000
committerJean-Sébastien Pédron <dumbbell@FreeBSD.org>2026-04-30 11:40:05 +0000
commiteebb643bb3799ae90dd248f0b5047ec481b26f68 (patch)
tree815469571fd48c901f5e0533cafea084286ac88c /share
parent65dc0e9071a5ea206d6fbf070c974ebcfdea3680 (diff)
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/sx.912
1 files changed, 11 insertions, 1 deletions
diff --git a/share/man/man9/sx.9 b/share/man/man9/sx.9
index 473a47c27cf4..f96ee4ffccf7 100644
--- a/share/man/man9/sx.9
+++ b/share/man/man9/sx.9
@@ -24,7 +24,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.\"
-.Dd November 11, 2017
+.Dd Apri 30, 2026
.Dt SX 9
.Os
.Sh NAME
@@ -46,6 +46,7 @@
.Nm sx_sleep ,
.Nm sx_xholder ,
.Nm sx_xlocked ,
+.Nm sx_has_waiters ,
.Nm sx_assert ,
.Nm SX_SYSINIT ,
.Nm SX_SYSINIT_FLAGS
@@ -88,6 +89,8 @@
.Fn sx_xholder "struct sx *sx"
.Ft int
.Fn sx_xlocked "const struct sx *sx"
+.Ft int
+.Fn sx_has_waiters "const struct sx *sx"
.Pp
.Cd "options INVARIANTS"
.Cd "options INVARIANT_SUPPORT"
@@ -268,6 +271,13 @@ is returned instead.
will return non-zero if the current thread holds the exclusive lock;
otherwise, it will return zero.
.Pp
+.Fn sx_has_waiters
+will return non-zero if there are threads waiting for this lock;
+otherwise, it will return zero.
+The function assumes (but does not assert) that the caller already holds the
+lock and that it is interested in other threads waiting for it to release the
+lock.
+.Pp
For ease of programming,
.Fn sx_unlock
is provided as a macro frontend to the respective functions,