RFR 8195059: Update java.net Socket and DatagramSocket implementations to use Cleaner
chris.hegarty at oracle.com
Thu Feb 1 15:11:29 UTC 2018
> On 31 Jan 2018, at 15:52, Roger Riggs <Roger.Riggs at oracle.com> wrote:
> Adding net-dev at openjdk.java.net
> On 1/30/2018 5:08 PM, Roger Riggs wrote:
>> Please review changes to replace finalizers in socket, datagram, and multicast networking
>> with Cleaner based release of the raw file descriptors. Each FileDescriptor is registered
>> for cleanup after the raw fd (or handle) is assigned. Normal calls to close unregister the
>> cleaner before using the current logic to close the raw fd/handle. Windows networking
>> uses fd's with the Windows socket_ API requiring a special cased Cleanable.
>> The tests check that the implementation objects including FileDescriptors are reclaimed
>> and for Linux that the raw fd counts are reduced as expected.
I think this is good. One small comment; could SocketCleanup be a
top-level package-private class, since it is shared by the three
different socket types.
I didn’t look too hard at the tests, other than to note that they seem
to verify expected behaviour, which is good.
More information about the core-libs-dev