svn commit: r321829 - in stable/10: lib/libc/sys share/man/man4

Alan Somers asomers at FreeBSD.org
Mon Jul 31 22:36:04 UTC 2017


Author: asomers
Date: Mon Jul 31 22:36:03 2017
New Revision: 321829
URL: https://svnweb.freebsd.org/changeset/base/321829

Log:
  Clarify usage of aio(4) with kqueue(2)
  
  Reviewed by:	jhb
  MFC after:	3 weeks
  Differential Revision:	https://reviews.freebsd.org/D11299

Modified:
  stable/10/lib/libc/sys/kqueue.2
  stable/10/share/man/man4/aio.4
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/lib/libc/sys/kqueue.2
==============================================================================
--- stable/10/lib/libc/sys/kqueue.2	Mon Jul 31 22:32:11 2017	(r321828)
+++ stable/10/lib/libc/sys/kqueue.2	Mon Jul 31 22:36:03 2017	(r321829)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 3, 2016
+.Dd June 22, 2017
 .Dt KQUEUE 2
 .Os
 .Sh NAME
@@ -327,33 +327,18 @@ identical to the
 .Dv EVFILT_READ
 case.
 .It Dv EVFILT_AIO
-The sigevent portion of the AIO request is filled in, with
-.Va sigev_notify_kqueue
-containing the descriptor of the kqueue that the event should
-be attached to,
-.Va sigev_notify_kevent_flags
-containing the kevent flags which should be
-.Dv EV_ONESHOT ,
-.Dv EV_CLEAR
-or
-.Dv EV_DISPATCH ,
-.Va sigev_value
-containing the udata value, and
-.Va sigev_notify
-set to
-.Dv SIGEV_KEVENT .
-When the
-.Fn aio_*
-system call is made, the event will be registered
-with the specified kqueue, and the
-.Va ident
-argument set to the
-.Fa struct aiocb
-returned by the
-.Fn aio_*
-system call.
+Events for this filter are not registered with
+.Fn kevent
+directly but are registered via the
+.Va aio_sigevent
+member of an asychronous I/O request when it is scheduled via an asychronous I/O
+system call such as
+.Fn aio_read .
 The filter returns under the same conditions as
 .Fn aio_error .
+For more details on this filter see
+.Xr sigevent 3 and
+.Xr aio 4 .
 .It Dv EVFILT_VNODE
 Takes a file descriptor as the identifier and the events to watch for in
 .Va fflags ,

Modified: stable/10/share/man/man4/aio.4
==============================================================================
--- stable/10/share/man/man4/aio.4	Mon Jul 31 22:32:11 2017	(r321828)
+++ stable/10/share/man/man4/aio.4	Mon Jul 31 22:36:03 2017	(r321829)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 15, 2016
+.Dd June 22, 2017
 .Dt AIO 4
 .Os
 .Sh NAME
@@ -59,11 +59,27 @@ field which can be used to request notification when a
 For
 .Dv SIGEV_KEVENT
 notifications,
-the posted kevent will contain:
+the
+.Va sigevent
+.Ap
+s
+.Va sigev_notify_kqueue
+field should contain the descriptor of the kqueue that the event should be attached
+to, its
+.Va sigev_notify_kevent_flags
+field may contain
+.Dv EV_ONESHOT ,
+.Dv EV_CLEAR , and/or
+.Dv EV_DISPATCH , and its
+.Va sigev_notify
+field should be set to
+.Dv SIGEV_KEVENT .
+The posted kevent will contain:
 .Bl -column ".Va filter"
 .It Sy Member Ta Sy Value
 .It Va ident Ta asynchronous I/O control buffer pointer
 .It Va filter Ta Dv EVFILT_AIO
+.It Va flags Ta Dv EV_EOF
 .It Va udata Ta
 value stored in
 .Va aio_sigevent.sigev_value


More information about the svn-src-all mailing list