gcc/libjava/gnu/gcj/runtime/FileDeleter.java
Anthony Green 890a31f478 File.java (deleteOnExit): New method.
* java/io/File.java (deleteOnExit): New method.
        * gnu/gcj/runtime/FileDeleter.java: New class.
        * java/lang/natRuntime.cc (exit): Call
        FileDeleter.deleteOnExitNow()
        * Makefile.am: Add FileDeleter.java.
        * Makefile.in: Rebuilt.

From-SVN: r36141
2000-09-04 16:55:48 +00:00

39 lines
821 B
Java

/* Copyright (C) 2000 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;
import java.io.*;
import java.util.*;
public final class FileDeleter
{
public synchronized static void add (File f)
{
if (deleteOnExitStack == null)
deleteOnExitStack = new Stack ();
deleteOnExitStack.push (f);
}
// Helper method called by java.lang.Runtime.exit() to perform
// pending deletions.
public static void deleteOnExitNow ()
{
while (!deleteOnExitStack.empty ())
((File)(deleteOnExitStack.pop ())).delete ();
}
// A stack of files to delete upon normal termination.
private static Stack deleteOnExitStack;
}