summaryrefslogtreecommitdiff
path: root/java/src/Freeze/SharedDbEnv.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/Freeze/SharedDbEnv.java')
-rw-r--r--java/src/Freeze/SharedDbEnv.java24
1 files changed, 13 insertions, 11 deletions
diff --git a/java/src/Freeze/SharedDbEnv.java b/java/src/Freeze/SharedDbEnv.java
index ab633d709c1..1bd5ccf232d 100644
--- a/java/src/Freeze/SharedDbEnv.java
+++ b/java/src/Freeze/SharedDbEnv.java
@@ -390,6 +390,11 @@ public class SharedDbEnv implements com.sleepycat.db.ErrorHandler, Runnable
cleanup();
throw ex;
}
+ catch(java.lang.Error ex)
+ {
+ cleanup();
+ throw ex;
+ }
_refCount = 1;
}
@@ -406,19 +411,16 @@ public class SharedDbEnv implements com.sleepycat.db.ErrorHandler, Runnable
notify();
}
- for(;;)
+ while(_thread != null)
{
- if(_thread != null)
+ try
+ {
+ _thread.join();
+ _thread = null;
+ break;
+ }
+ catch(InterruptedException ex)
{
- try
- {
- _thread.join();
- _thread = null;
- break;
- }
- catch(InterruptedException ex)
- {
- }
}
}