home *** CD-ROM | disk | FTP | other *** search
- package sun.awt;
-
- public class AWTFinalizer extends Thread {
- static AWTFinalizer theFinalizer = new AWTFinalizer();
- static AWTFinalizeable theFinalQueue;
-
- private AWTFinalizer() {
- super("AWT-Finalizer");
- ((Thread)this).setPriority(9);
- ((Thread)this).setDaemon(true);
- }
-
- public void run() {
- while(true) {
- synchronized(this){}
-
- AWTFinalizeable var1;
- try {
- while((var1 = theFinalQueue) == null) {
- try {
- this.wait();
- } catch (InterruptedException var5) {
- }
- }
-
- theFinalQueue = null;
- } catch (Throwable var6) {
- throw var6;
- }
-
- while(var1 != null) {
- var1.doFinalization();
- var1 = var1.getNextFinalizeable();
- }
- }
- }
-
- public static void addFinalizeable(AWTFinalizeable var0) {
- AWTFinalizer var1 = theFinalizer;
- synchronized(var1){}
-
- try {
- var0.setNextFinalizeable(theFinalQueue);
- theFinalQueue = var0;
- theFinalizer.notify();
- } catch (Throwable var3) {
- throw var3;
- }
-
- }
-
- static {
- theFinalizer.start();
- }
- }
-