The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f4a05f37936e422b1e8f4f127253562d3f58f50c
commit f4a05f37936e422b1e8f4f127253562d3f58f50c Author: Konstantin Belousov <[email protected]> AuthorDate: 2026-07-26 00:00:30 +0000 Commit: Konstantin Belousov <[email protected]> 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
