src/java.base/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java
changeset 59146 455612b3161a
parent 50602 ed8de3d0cd28
--- 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