summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/IceInternal/ConnectionMonitor.java29
1 files changed, 18 insertions, 11 deletions
diff --git a/java/src/IceInternal/ConnectionMonitor.java b/java/src/IceInternal/ConnectionMonitor.java
index 3f1c6307944..2608adcad97 100644
--- a/java/src/IceInternal/ConnectionMonitor.java
+++ b/java/src/IceInternal/ConnectionMonitor.java
@@ -94,18 +94,16 @@ public final class ConnectionMonitor extends Thread
{
synchronized(this)
{
- if(_instance == null)
- {
- return;
- }
-
- try
- {
- wait(_interval * 1000);
- }
- catch(InterruptedException ex)
+ if(_instance != null)
{
- continue;
+ try
+ {
+ wait(_interval * 1000);
+ }
+ catch(InterruptedException ex)
+ {
+ continue;
+ }
}
if(_instance == null)
@@ -135,6 +133,11 @@ public final class ConnectionMonitor extends Thread
{
synchronized(this)
{
+ if(_instance == null)
+ {
+ return;
+ }
+
java.io.StringWriter sw = new java.io.StringWriter();
java.io.PrintWriter pw = new java.io.PrintWriter(sw);
ex.printStackTrace(pw);
@@ -148,6 +151,10 @@ public final class ConnectionMonitor extends Thread
{
synchronized(this)
{
+ if(_instance == null)
+ {
+ return;
+ }
java.io.StringWriter sw = new java.io.StringWriter();
java.io.PrintWriter pw = new java.io.PrintWriter(sw);
ex.printStackTrace(pw);