aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2026-07-26 00:00:30 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2026-07-27 16:17:28 +0000
commitf4a05f37936e422b1e8f4f127253562d3f58f50c (patch)
tree5d4de627ce9c04c493ab70b4e9af942a37ba712e
parentd738f66fab9208ee3bccea5fed293d8ce3ee5ca3 (diff)
_umtx_op.2: document the CVWAIT_UMTX_TIME flag for the UMTX_OP_CV_WAIT_UC request
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D58463
-rw-r--r--lib/libsys/_umtx_op.223
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/libsys/_umtx_op.2 b/lib/libsys/_umtx_op.2
index c590f8e8e0c8..8bdb20fa2178 100644
--- a/lib/libsys/_umtx_op.2
+++ b/lib/libsys/_umtx_op.2
@@ -752,15 +752,21 @@ After wakeup, the
umutex is not relocked.
.Pp
The following flags are defined:
-.Bl -tag -width "CVWAIT_CLOCKID"
+.Bl -tag -width "CVWAIT_UMTX_TIME"
.It Dv CVWAIT_ABSTIME
Timeout is absolute.
.It Dv CVWAIT_CLOCKID
Clockid is provided.
+.It Dv CVWAIT_UMTX_TIME
+Timeout is specified by
+.Vt struct umtx_time
.El
.Pp
Optionally, a timeout for the request may be specified.
-Unlike other requests, the timeout value is specified directly by a
+If the
+.Dv CVWAIT_UMTX_TIME
+flag is not passed, then, unlike other requests,
+the timeout value is specified directly by a
.Vt struct timespec ,
pointed to by the
.Fa uaddr2
@@ -783,6 +789,19 @@ If the
flag is supplied, the timeout specifies absolute time value, otherwise
it denotes a relative time interval.
.Pp
+Alternatively, if the
+.Dv CVWAIT_UMTX_TIME
+flag is passed, then the
+.Dv CVWAIT_CLOCKID
+and
+.Dv CVWAIT_ABSTIME
+flags must be not passed.
+In this case, the
+.Fa uaddr2
+points to the
+.Va struct umtx_time
+structure which specifes the timeout and clock identifier.
+.Pp
The request is not restartable.
An unblocked signal delivered during
the wait always results in sleep interruption and