KQSelectionKey.interestOps(...) is currently implemented to just add "some object" to a list which will be processed when the kqueue unblocks. This is problematic if kqueue never unblocks. Update to the interestOps must be made directly via a kqueue call and not delayed as otherwise a channel may never receive the event it is interested in