8231259: (dc) DatagramChannel::disconnect re-binds socket to the wildcard address (macOS)

Reviewed-by: dfuchs, chegar
This commit is contained in:
Alan Bateman 2019-11-20 08:35:53 +00:00
parent 62d6862485
commit 7e42642939
11 changed files with 494 additions and 146 deletions

View file

@ -156,6 +156,13 @@ class KQueueSelectorImpl extends SelectorImpl {
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