summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2005-09-27 14:51:32 +0000
committerDwayne Boone <dwayne@zeroc.com>2005-09-27 14:51:32 +0000
commit26ca63d99b5d771ba3da00707c78f87157d29f13 (patch)
tree55db72fe1ee5ca3348bdf3d16bffb54385c5a953 /cpp/src
parentWin32 fixes (diff)
downloadice-26ca63d99b5d771ba3da00707c78f87157d29f13.tar.bz2
ice-26ca63d99b5d771ba3da00707c78f87157d29f13.tar.xz
ice-26ca63d99b5d771ba3da00707c78f87157d29f13.zip
Fixed bug 495 - assertion on server side udp shutdown
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/ConnectionFactory.cpp37
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