git: f4a05f37936e - main - _umtx_op.2: document the CVWAIT_UMTX_TIME flag for the UMTX_OP_CV_WAIT_UC request
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 27 Jul 2026 16:17:53 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=f4a05f37936e422b1e8f4f127253562d3f58f50c
commit f4a05f37936e422b1e8f4f127253562d3f58f50c
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-07-26 00:00:30 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-07-27 16:17:28 +0000
_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
---
lib/libsys/_umtx_op.2 | 23 +++++++++++++++++++++--
1 file 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