diff options
author | green <green@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-04 16:55:48 +0000 |
---|---|---|
committer | green <green@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-04 16:55:48 +0000 |
commit | 8e9ed72dc7ff97f81b7d423a22a6adb47395da61 (patch) | |
tree | 0e11c3202467de16f9293623c00841fbe6ad2149 /libjava/java/io | |
parent | e918284936f0f82196fd15141f8b9bf3a6356115 (diff) | |
download | ppe42-gcc-8e9ed72dc7ff97f81b7d423a22a6adb47395da61.tar.gz ppe42-gcc-8e9ed72dc7ff97f81b7d423a22a6adb47395da61.zip |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36141 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/io')
-rw-r--r-- | libjava/java/io/File.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/libjava/java/io/File.java b/libjava/java/io/File.java index b9ff9ff23f2..9043660be38 100644 --- a/libjava/java/io/File.java +++ b/libjava/java/io/File.java @@ -10,6 +10,9 @@ details. */ package java.io; +import java.util.*; +import gnu.gcj.runtime.FileDeleter; + /** * @author Tom Tromey <tromey@cygnus.com> * @date September 24, 1998 @@ -42,7 +45,7 @@ public class File implements Serializable return access (p, WRITE); } - private final native boolean performDelete (String canon); + private final native static boolean performDelete (String canon); public boolean delete () { SecurityManager s = System.getSecurityManager(); @@ -347,6 +350,17 @@ public class File implements Serializable return p; } + // Add this File to the set of files to be deleted upon normal + // termination. + public void deleteOnExit () + { + SecurityManager sm = System.getSecurityManager (); + if (sm != null) + sm.checkDelete (getName ()); + + FileDeleter.add (this); + } + // QUERY arguments to access function. private final static int READ = 0; private final static int WRITE = 1; |