Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jun 2017 00:40:09 +0000 (UTC)
From:      Alan Somers <asomers@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r320255 - in head: lib/libc/sys share/man/man4
Message-ID:  <201706230040.v5N0e9pk015845@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: asomers
Date: Fri Jun 23 00:40:09 2017
New Revision: 320255
URL: https://svnweb.freebsd.org/changeset/base/320255

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

Modified:
  head/lib/libc/sys/kqueue.2
  head/share/man/man4/aio.4

Modified: head/lib/libc/sys/kqueue.2
==============================================================================
--- head/lib/libc/sys/kqueue.2	Fri Jun 23 00:27:40 2017	(r320254)
+++ head/lib/libc/sys/kqueue.2	Fri Jun 23 00:40:09 2017	(r320255)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 17, 2017
+.Dd June 22, 2017
 .Dt KQUEUE 2
 .Os
 .Sh NAME
@@ -351,33 +351,18 @@ case.
 Takes a descriptor as the identifier, and returns whenever
 there is no remaining data in the write buffer.
 .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: head/share/man/man4/aio.4
==============================================================================
--- head/share/man/man4/aio.4	Fri Jun 23 00:27:40 2017	(r320254)
+++ head/share/man/man4/aio.4	Fri Jun 23 00:40:09 2017	(r320255)
@@ -27,7 +27,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 21, 2016
+.Dd June 22, 2017
 .Dt AIO 4
 .Os
 .Sh NAME
@@ -161,11 +161,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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706230040.v5N0e9pk015845>