summaryrefslogtreecommitdiff
path: root/java/src/Ice/ConnectionI.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/Ice/ConnectionI.java')
-rw-r--r--java/src/Ice/ConnectionI.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java
index e938f5c1d37..f720448fdbf 100644
--- a/java/src/Ice/ConnectionI.java
+++ b/java/src/Ice/ConnectionI.java
@@ -1219,7 +1219,18 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
{
if(--_dispatchCount == 0)
{
- if(_state == StateFinished)
+ if(_state == StateClosing)
+ {
+ try
+ {
+ initiateShutdown();
+ }
+ catch(LocalException ex)
+ {
+ setState(StateClosed, ex);
+ }
+ }
+ else if(_state == StateFinished)
{
_reaper.add(this);
}