| /* 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 synchronized static void deleteOnExitNow () |
| { |
| if (deleteOnExitStack != null) |
| while (!deleteOnExitStack.empty ()) |
| ((File)(deleteOnExitStack.pop ())).delete (); |
| } |
| |
| // A stack of files to delete upon normal termination. |
| private static Stack deleteOnExitStack; |
| } |