[Mulgara-svn] r1437 - in trunk/src/jar: server/java/org/mulgara/server util/java/org/mulgara/util

ronald at mulgara.org ronald at mulgara.org
Mon Jan 19 11:27:55 UTC 2009


Author: ronald
Date: 2009-01-19 03:27:54 -0800 (Mon, 19 Jan 2009)
New Revision: 1437

Modified:
   trunk/src/jar/server/java/org/mulgara/server/EmbeddedMulgaraServer.java
   trunk/src/jar/util/java/org/mulgara/util/TempDir.java
Log:
Avoid a deadlock (hang) during shutdown if the tempDir went away.

Modified: trunk/src/jar/server/java/org/mulgara/server/EmbeddedMulgaraServer.java
===================================================================
--- trunk/src/jar/server/java/org/mulgara/server/EmbeddedMulgaraServer.java	2009-01-19 11:27:48 UTC (rev 1436)
+++ trunk/src/jar/server/java/org/mulgara/server/EmbeddedMulgaraServer.java	2009-01-19 11:27:54 UTC (rev 1437)
@@ -800,7 +800,7 @@
    *
    */
   private static void cleanUpTemporaryFiles() {
-    File tempDirectory = TempDir.getTempDir();
+    File tempDirectory = TempDir.getTempDir(false);
 
     // Add a filter to ensure we only delete the correct files
     File[] list = tempDirectory.listFiles(new TemporaryFileNameFilter());

Modified: trunk/src/jar/util/java/org/mulgara/util/TempDir.java
===================================================================
--- trunk/src/jar/util/java/org/mulgara/util/TempDir.java	2009-01-19 11:27:48 UTC (rev 1436)
+++ trunk/src/jar/util/java/org/mulgara/util/TempDir.java	2009-01-19 11:27:54 UTC (rev 1437)
@@ -54,8 +54,11 @@
 
   private static File tempDir = null;
 
+  public static File getTempDir() {
+    return getTempDir(true);
+  }
 
-  public static synchronized File getTempDir() {
+  public static synchronized File getTempDir(boolean failIfNotDir) {
     if (tempDir == null) {
       // Initialize tempDir.
       File dir = new File(systemTempDir, "mulgara_" + System.getProperty("user.name"));
@@ -68,7 +71,7 @@
       }
     }
 
-    if (!tempDir.isDirectory()) {
+    if (!tempDir.isDirectory() && failIfNotDir) {
       // The temporary directory has gone away!  This is a fatal error because,
       // for security reasons, we don't want to just revert to using the system
       // temporary directory.




More information about the Mulgara-svn mailing list