On Thu, 7 Apr 2022 22:49:24 GMT, Bradford Wetmore <wetm...@openjdk.org> wrote:
> > The socket close() call in the finalize() method may be blocked for the SSL > > implementation, which is not good for garbage collection. It should be safe > > by just removing the finalize() method. `> > Can you provide more detail? I expected something more like your first > attempt (`java.lang.ref.Cleaner`) that would properly close/send the > close_notify message. Thanks! The 1st use of Cleaner refer to 'this' object, as result in that 'this' object cannot be phantom reachable and thus the cleaner cannot be triggered. As the close() is a method of 'this' object, the calling to close() in a cleaner will hold a reference to 'this' object, and make the cleaner failed (and memory leak). ------------- PR: https://git.openjdk.java.net/jdk/pull/8065