Date: Wed, 02 Dec 2020 00:50:09 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 251515] lio_listio(2) never sends kevent if nent==0 Message-ID: <bug-251515-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D251515 Bug ID: 251515 Summary: lio_listio(2) never sends kevent if nent=3D=3D0 Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: asomers@FreeBSD.org It may seem stupid, but you can call lio_listio(2) with an empty aiocb list= . I would naively expect lio_listio to do nothing and return in that case. Ind= eed, that's what it does when mode =3D=3D LIO_WAIT. However, if mode =3D=3D LIO= _NOWAIT and sigev_notify =3D=3D SIGEV_KEVENT, no event is ever delivered. The problem can be demonstrated by the sys/aio/lio_test:lio_listio_empty_nowait_kevent test case. Since the Open Group's AIO specification never mentions kevent, we get to m= ake the call on what to do. jhb and I agree that sending immediate notificatio= n is sensible. This was originally reported as bug 220398, but that bug really turned out = to be two bugs. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-251515-227>