diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-09-26 11:10:10 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-09-26 11:10:10 +0200 |
| commit | 2ebcedd42cd990b3945707d669e65f6321b0d416 (patch) | |
| tree | 3361d5d1b03e011f9fe227ccae49bee5822056f5 /src/main/java | |
| parent | 2ea36d379545efa8f92baf1a9ddb3b6fe8422f0f (diff) | |
Check if queue is empty before wait(). Possible deadlock when proxy
event arrives just before thread switches to waiting.
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/com/c2kernel/entity/proxy/ProxyServer.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/com/c2kernel/entity/proxy/ProxyServer.java b/src/main/java/com/c2kernel/entity/proxy/ProxyServer.java index c576cda..6778794 100644 --- a/src/main/java/com/c2kernel/entity/proxy/ProxyServer.java +++ b/src/main/java/com/c2kernel/entity/proxy/ProxyServer.java @@ -52,9 +52,11 @@ public class ProxyServer implements Runnable { client.sendMessage(message);
}
}
- } else
+ } else
try {
- synchronized(this) { wait(); }
+ synchronized(this) {
+ if (messageQueue.isEmpty()) wait();
+ }
} catch (InterruptedException e) { }
}
|
