diff options
Diffstat (limited to 'cpp/src/Ice/ConnectionI.cpp')
-rw-r--r-- | cpp/src/Ice/ConnectionI.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp index b23e628466d..2a5ca75f12e 100644 --- a/cpp/src/Ice/ConnectionI.cpp +++ b/cpp/src/Ice/ConnectionI.cpp @@ -2572,6 +2572,11 @@ Ice::ConnectionI::ThreadPerConnection::ThreadPerConnection(const ConnectionIPtr& void Ice::ConnectionI::ThreadPerConnection::run() { + if(_connection->_instance->initializationData().threadHook) + { + _connection->_instance->initializationData().threadHook->start(); + } + try { _connection->run(); @@ -2592,5 +2597,10 @@ Ice::ConnectionI::ThreadPerConnection::run() out << "unknown exception in thread per connection:\n" << _connection->toString(); } + if(_connection->_instance->initializationData().threadHook) + { + _connection->_instance->initializationData().threadHook->stop(); + } + _connection = 0; // Resolve cyclic dependency. } |