Hi Chris,

Updated in place.

Thanks, Roger

On 2/2/2018 11:30 AM, Chris Hegarty wrote:

On 01/02/18 21:29, Roger Riggs wrote:
Hi Chris,

Thanks for the review and suggestion.

Webrev updated:

This looks good to me, just a few small comments:

1) windows SocketImpl.c in the comments:
     java_net_AbstractPlainSocketImpl -> java_net_SocketCleanable_cleanupClose0

2) SocketCleanable.java needs a copyright header


  * Refactored SocketCleanup into a java.net package private SocketCleanable
  * Moved register and unregister into static methods in SocketCleanable
  * Simplified the test by retaining the checking for GC reclaimed
    objects but
    removed checking fd counts, since they were unreliable in testing
    and not consistent across OS's

Thanks, Roger

On 2/1/2018 10:11 AM, Chris Hegarty wrote:
Hi Roger,

On 31 Jan 2018, at 15:52, Roger Riggs<roger.ri...@oracle.com>  wrote:


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.


Reply via email to