On Wed, Oct 18, 2017 at 11:22:01AM +0200, Martin Pieuchot wrote:
> Diff below is the last version of my kqueue diff to allow grabbing the
> solock() and possibly sleeping, inside kqueue_scan().

I wonder why you don't call knote_release() when calling knote_drop().
Another thread could sleep in knote_acquire() and never get a
wakeup.  I think there should be a call to knote_release() from
knote_drop() just before freeing it.  Then other threads wake up
and can continue.

Why is knote_release() not a void function?

I did run all regress tests with your diff, everything passes.
Btw, I have added a link to my regress page where you can see the
diffs in /usr/src when I did not run the tests with a snapshot.
http://bluhm.genua.de/regress/results/regress.html

bluhm

Reply via email to