diff options
Diffstat (limited to 'java/src/Ice/ConnectionI.java')
-rw-r--r-- | java/src/Ice/ConnectionI.java | 13 |
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); } |