Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
KQueueEventLoop won't unregister active channels reusing a file descriptor #9149
The current KQueueEventLoop implementation does not process concurrent domain socket channel registration/unregistration in the order they actual
Consequently the KQueueEventLoop#add(AbstractKQueueChannel) method will overwrite the current inactive channels having the same descriptor
As active channels are registered, events for this file descriptor won't be processed anymore and the channels will never be closed.
KQueueEventLoop won't remove anymore active channels reusing a file descriptor.
referenced this pull request
May 14, 2019
This was quite interesting, as this appears to also fix a related TCP issue I had in my project (which I worked around by deferring to a future iteration of the event loop). I suspected it was a Netty bug but wasn't entirely sure. I tested my project with 4.1.37.Final and removed my workaround, and this worked.