svn commit: r367742 - head/lib/libc/sys

Kyle Evans kevans at FreeBSD.org
Tue Nov 17 03:26:57 UTC 2020


Author: kevans
Date: Tue Nov 17 03:26:56 2020
New Revision: 367742
URL: https://svnweb.freebsd.org/changeset/base/367742

Log:
  _umtx_op: document UMTX_OP_SEM2_WAIT copyout behavior
  
  This clever technique to get a time remaining back was added to support sem_clockwait_np.
  
  Reviewed by:	kib, vangyzen
  MFC after:	1 week
  Differential Revision:	https://reviews.freebsd.org/D27160

Modified:
  head/lib/libc/sys/_umtx_op.2

Modified: head/lib/libc/sys/_umtx_op.2
==============================================================================
--- head/lib/libc/sys/_umtx_op.2	Tue Nov 17 02:18:34 2020	(r367741)
+++ head/lib/libc/sys/_umtx_op.2	Tue Nov 17 03:26:56 2020	(r367742)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 13, 2017
+.Dd November 16, 2020
 .Dt _UMTX_OP 2
 .Os
 .Sh NAME
@@ -1101,6 +1101,15 @@ The arguments to the request are:
 .It Fa obj
 Pointer to the semaphore (of type
 .Vt struct _usem2 ) .
+.It Fa uaddr
+Size of the memory passed in via the
+.Fa uaddr2
+argument.
+.It Fa uaddr2
+Optional pointer to a structure of type
+.Vt struct _umtx_time ,
+which may be followed by a structure of type
+.Vt struct timespec .
 .El
 .Pp
 Put the requesting thread onto a sleep queue if the semaphore counter
@@ -1124,6 +1133,18 @@ An unblocked signal delivered during such wait results
 interruption and
 .Er EINTR
 error.
+.Pp
+If
+.Dv UMTX_ABSTIME
+was not set, and the operation was interrupted and the caller passed in a
+.Fa uaddr2
+large enough to hold a
+.Vt struct timespec
+following the initial
+.Vt struct _umtx_time ,
+then the
+.Vt struct timespec
+is updated to contain the unslept amount.
 .It Dv UMTX_OP_SEM2_WAKE
 Wake up waiters on semaphore lock.
 The arguments to the request are:


More information about the svn-src-all mailing list