On 11/01/16 10:39, Mark Sheppard wrote:
OK thanks Chris

my observation was that if only  channel.close()  was invoked then
the underlying serversocket was not being closed, it remained in the
LISTEN state.
This was on Windows 7.

It is not necessary to call close() on the Socket adapter,
after channel.close() has been called.

Alan just reminded me that, on some platforms ( Windows ) the
underlying socket may remain open, if registered with a selector,
even after calling closed, until the the selector fires. This may
help explain why you seen the above behavior.

-Chris.

I'll check this again  ...

regards
Mark

On 11/01/2016 06:32, Chris Hegarty wrote:
On 8 Jan 2016, at 17:49, Mark Sheppard <mark.shepp...@oracle.com> wrote:

Hi
   please oblige and review the following changes
http://cr.openjdk.java.net/~msheppar/8144144/webrev/
In SelectorImpl.clearDeferredRegistrations() there is no need to call
close()
on the Socket returned from channel.socket(), since you have already
closed the channel.

-Chris.

which addresses the issue
https://bugs.openjdk.java.net/browse/JDK-8144144

the changes ensure that an Acceptor and its associated
ServerSocket/ServerSocketChannel
are closed.

regards
Mark

Reply via email to