summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/Connection.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/Connection.java')
-rw-r--r--java/src/IceInternal/Connection.java16
1 files changed, 5 insertions, 11 deletions
diff --git a/java/src/IceInternal/Connection.java b/java/src/IceInternal/Connection.java
index c37d3616104..148845c70c3 100644
--- a/java/src/IceInternal/Connection.java
+++ b/java/src/IceInternal/Connection.java
@@ -444,6 +444,11 @@ public final class Connection extends EventHandler
{
try
{
+ if(--_dispatchCount == 0)
+ {
+ notifyAll();
+ }
+
if(_state == StateClosed)
{
return;
@@ -462,11 +467,6 @@ public final class Connection extends EventHandler
TraceUtil.traceReply("sending reply", os, _logger, _traceLevels);
_transceiver.write(os, _endpoint.timeout());
- if(--_dispatchCount == 0)
- {
- notifyAll();
- }
-
if(_state == StateClosing && _dispatchCount == 0)
{
initiateShutdown();
@@ -483,11 +483,6 @@ public final class Connection extends EventHandler
{
try
{
- if(_state == StateClosed)
- {
- return;
- }
-
if(--_dispatchCount == 0)
{
notifyAll();
@@ -977,7 +972,6 @@ public final class Connection extends EventHandler
}
unregisterWithPool();
destroyIncomingCache();
- _dispatchCount = 0;
break;
}
}