--- a/src/java.base/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java Wed Nov 20 09:12:07 2019 +0100
+++ b/src/java.base/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java Wed Nov 20 08:35:53 2019 +0000
@@ -156,6 +156,13 @@
int newEvents = ski.translateInterestOps();
int registeredEvents = ski.registeredEvents();
+
+ // DatagramChannelImpl::disconnect has reset socket
+ if (ski.getAndClearReset() && registeredEvents != 0) {
+ KQueue.register(kqfd, fd, EVFILT_READ, EV_DELETE);
+ registeredEvents = 0;
+ }
+
if (newEvents != registeredEvents) {
// add or delete interest in read events