31a7b75558
2004-07-11 Bryce McKinlay <mckinlay@redhat.com> PR libgcj/16748 * prims.cc (_Jv_CreateJavaVM): Fix comment. * gnu/gcj/runtime/FinalizerThread.java (init): New. Native. (finalizerReady): Now native. (run): Likewise. (runFinalizers): Removed. * gnu/gcj/runtime/natFinalizerThread.cc (run): Implement here. Use a primitive lock, and don't hold it while running the finalizers. (runFinalizers): Implement. Don't aquire any Java lock. (finalizerReady): Use lock primitives to signal finalizer thread. From-SVN: r84531
33 lines
734 B
Java
33 lines
734 B
Java
// FinalizerThread.java -- Thread in which finalizers are run.
|
|
|
|
/* Copyright (C) 2001, 2004 Free Software Foundation
|
|
|
|
This file is part of libgcj.
|
|
|
|
This software is copyrighted work licensed under the terms of the
|
|
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
|
details. */
|
|
|
|
package gnu.gcj.runtime;
|
|
|
|
/**
|
|
* @author Tom Tromey <tromey@redhat.com>
|
|
* @date October 3, 2001
|
|
*/
|
|
public final class FinalizerThread extends Thread
|
|
{
|
|
private static boolean finalizer_ready;
|
|
|
|
public FinalizerThread ()
|
|
{
|
|
super ("LibgcjInternalFinalizerThread");
|
|
setDaemon (true);
|
|
finalizer_ready = false;
|
|
init();
|
|
}
|
|
|
|
private native void init();
|
|
static native void finalizerReady();
|
|
public native void run();
|
|
}
|