diff options
author | Marc Laukien <marc@zeroc.com> | 2002-12-30 18:21:47 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-12-30 18:21:47 +0000 |
commit | 608d89d46a87ad33a89a613effa50b7d469ca5a1 (patch) | |
tree | 159450e09853fd06775f1d0a6828b77e32574c4e /cpp/src/Ice/Connection.cpp | |
parent | more amd work (diff) | |
download | ice-608d89d46a87ad33a89a613effa50b7d469ca5a1.tar.bz2 ice-608d89d46a87ad33a89a613effa50b7d469ca5a1.tar.xz ice-608d89d46a87ad33a89a613effa50b7d469ca5a1.zip |
fixed shutdown problem with _dispatchCount
Diffstat (limited to 'cpp/src/Ice/Connection.cpp')
-rw-r--r-- | cpp/src/Ice/Connection.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/cpp/src/Ice/Connection.cpp b/cpp/src/Ice/Connection.cpp index ca3446f5e29..5387f1bf8c3 100644 --- a/cpp/src/Ice/Connection.cpp +++ b/cpp/src/Ice/Connection.cpp @@ -563,6 +563,11 @@ IceInternal::Connection::sendResponse(BasicStream* os, bool compress) try { + if(--_dispatchCount == 0) + { + notifyAll(); + } + if(_state == StateClosed) { return; @@ -619,11 +624,6 @@ IceInternal::Connection::sendResponse(BasicStream* os, bool compress) _transceiver->write(*os, _endpoint->timeout()); } - if(--_dispatchCount == 0) - { - notifyAll(); - } - if(_state == StateClosing && _dispatchCount == 0) { initiateShutdown(); @@ -642,16 +642,11 @@ IceInternal::Connection::sendNoResponse() try { - if(_state == StateClosed) - { - return; - } - if(--_dispatchCount == 0) { notifyAll(); } - + if(_state == StateClosing && _dispatchCount == 0) { initiateShutdown(); @@ -1237,7 +1232,6 @@ IceInternal::Connection::setState(State state) registerWithPool(); } unregisterWithPool(); - _dispatchCount = 0; break; } } |