Indeed I had suppressed all memory of runFinalizersOnExit. (Sorry about that.) I support removing it in jdk11. Mandy, would you like to file the CSR?
On Wed, Feb 14, 2018 at 1:15 PM, mandy chung <mandy.ch...@oracle.com> wrote: > > > On 2/14/18 1:58 AM, Peter Levart wrote: > > > I take back this claim. Of course the the following race is possible: > > - Thread1: calls runAllFinalizers and takes a Finalizer from 'unprocessed' > list. > - Thread2: takee the same Finalizer instance from ReferenceQueue and calls > runFinalizer() > - Thread1: calls runFinalizer() with the same instance for the 2nd time > now. > > > runAllFinalizers is invoked during shutdown when > System.runFinalizersOnExit has been called. > > I have been wanting to remove System::runFinalizersOnExit [1] which is the > culprit of causing this complicated handling. Probably time to remove it > in 11? > > Mandy > > [1] http://mail.openjdk.java.net/pipermail/core-libs-dev/2015- > January/031041.html >