On 05/11/2013 10:59, Paul Sandoz wrote:
On Nov 5, 2013, at 8:26 AM, Peter Levart<[email protected]> wrote:P.S. I'm curious about the strange seemingly unneeded code fragments in FinalizerThread and both Runnables. For example: 169 forkSecondaryFinalizer(new Runnable() { 170*private volatile boolean running;* 171 public void run() { 172*if (running)* 173*return;* 174*running = true;* The FinalizerThread and each Runnable instance is only executed once. Why these checks then? Does anybody know?I was wondering that too. A Thread is an instance of Runnable. So a finalize method could re-exec the current finalizer thread on another another thread.
Right. I added these a while back to ensure that this does not happen. -Chris.
Paul.
