src/java.base/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java
changeset 59146 455612b3161a
parent 50602 ed8de3d0cd28
equal deleted inserted replaced
59145:ea044aedc2b6 59146:455612b3161a
   154                     SelectionKeyImpl previous = fdToKey.putIfAbsent(fd, ski);
   154                     SelectionKeyImpl previous = fdToKey.putIfAbsent(fd, ski);
   155                     assert (previous == null) || (previous == ski);
   155                     assert (previous == null) || (previous == ski);
   156 
   156 
   157                     int newEvents = ski.translateInterestOps();
   157                     int newEvents = ski.translateInterestOps();
   158                     int registeredEvents = ski.registeredEvents();
   158                     int registeredEvents = ski.registeredEvents();
       
   159 
       
   160                     // DatagramChannelImpl::disconnect has reset socket
       
   161                     if (ski.getAndClearReset() && registeredEvents != 0) {
       
   162                         KQueue.register(kqfd, fd, EVFILT_READ, EV_DELETE);
       
   163                         registeredEvents = 0;
       
   164                     }
       
   165 
   159                     if (newEvents != registeredEvents) {
   166                     if (newEvents != registeredEvents) {
   160 
   167 
   161                         // add or delete interest in read events
   168                         // add or delete interest in read events
   162                         if ((registeredEvents & Net.POLLIN) != 0) {
   169                         if ((registeredEvents & Net.POLLIN) != 0) {
   163                             if ((newEvents & Net.POLLIN) == 0) {
   170                             if ((newEvents & Net.POLLIN) == 0) {