Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Feb 2018 06:14:14 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 203366] kevent: EV_CLEAR on fifo does not work correctly
Message-ID:  <bug-203366-8-5nS9GbzqKq@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-203366-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-203366-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D203366

--- Comment #10 from Jan Kokem=C3=BCller <jan.kokemueller@gmail.com> ---
So the EV_EOF flag is 'sticky' in kn_flags and does not get cleared anywher=
e,
right? Then I was wrong in comment #7.

There is also bug #224615 for an interesting edgecase at FIFO EOF where kev=
ent
and poll differ.

I also wonder why the man page speaks of using EV_CLEAR to clear the EV_EOF
condition. What about level triggered kevent() without EV_CLEAR?
See also this commit from DragonFly[1]. They had the same problem. They sti=
ll
use the filt_fiforead filter in 'sys/vfs/fifofs/fifo_vnops.c', though.

I'll try to write a test program that reproduces all those EOF related issu=
es.


[1]:
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/acb71b22f1443bd8a34=
f6e457cf57c4527d7ab52

--=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-203366-8-5nS9GbzqKq>