diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2005-09-27 14:51:32 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2005-09-27 14:51:32 +0000 |
commit | 26ca63d99b5d771ba3da00707c78f87157d29f13 (patch) | |
tree | 55db72fe1ee5ca3348bdf3d16bffb54385c5a953 /cpp | |
parent | Win32 fixes (diff) | |
download | ice-26ca63d99b5d771ba3da00707c78f87157d29f13.tar.bz2 ice-26ca63d99b5d771ba3da00707c78f87157d29f13.tar.xz ice-26ca63d99b5d771ba3da00707c78f87157d29f13.zip |
Fixed bug 495 - assertion on server side udp shutdown
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/Ice/ConnectionFactory.cpp | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp index 6326501067f..ee7ba8a3a2d 100644 --- a/cpp/src/Ice/ConnectionFactory.cpp +++ b/cpp/src/Ice/ConnectionFactory.cpp @@ -961,24 +961,27 @@ IceInternal::IncomingConnectionFactory::setState(State state) case StateClosed: { - if(_instance->threadPerConnection() && _acceptor) + if(_acceptor) { - // - // If we are in thread per connection mode, we connect - // to our own acceptor, which unblocks our thread per - // incoming connection factory stuck in accept(). - // - _acceptor->connectToSelf(); - } - else - { - // - // Otherwise we first must make sure that we are - // registered, then we unregister, and let finished() - // do the close. - // - registerWithPool(); - unregisterWithPool(); + if(_instance->threadPerConnection()) + { + // + // If we are in thread per connection mode, we connect + // to our own acceptor, which unblocks our thread per + // incoming connection factory stuck in accept(). + // + _acceptor->connectToSelf(); + } + else + { + // + // Otherwise we first must make sure that we are + // registered, then we unregister, and let finished() + // do the close. + // + registerWithPool(); + unregisterWithPool(); + } } #ifdef _STLP_BEGIN_NAMESPACE |