diff options
-rw-r--r-- | cpp/src/Ice/ConnectionFactory.cpp | 37 | ||||
-rw-r--r-- | cs/src/Ice/ConnectionFactory.cs | 37 | ||||
-rw-r--r-- | java/src/IceInternal/IncomingConnectionFactory.java | 37 |
3 files changed, 60 insertions, 51 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 diff --git a/cs/src/Ice/ConnectionFactory.cs b/cs/src/Ice/ConnectionFactory.cs index 6cb41c5683c..7d85992cc25 100644 --- a/cs/src/Ice/ConnectionFactory.cs +++ b/cs/src/Ice/ConnectionFactory.cs @@ -1015,24 +1015,27 @@ namespace IceInternal case StateClosed: { - if(instance_.threadPerConnection() && _acceptor != null) - { - // - // 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 + if(_acceptor != null) { - // - // 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(); + } } foreach(Ice.ConnectionI connection in _connections) diff --git a/java/src/IceInternal/IncomingConnectionFactory.java b/java/src/IceInternal/IncomingConnectionFactory.java index f92f0bc6c6f..8a99d371cd7 100644 --- a/java/src/IceInternal/IncomingConnectionFactory.java +++ b/java/src/IceInternal/IncomingConnectionFactory.java @@ -531,24 +531,27 @@ public final class IncomingConnectionFactory extends EventHandler case StateClosed: { - if(_instance.threadPerConnection() && _acceptor != null) + if(_acceptor != null) { - // - // 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(); + } } java.util.ListIterator p = _connections.listIterator(); |