diff options
Diffstat (limited to 'cpp/src/Ice/ConnectionFactory.cpp')
-rwxr-xr-x | cpp/src/Ice/ConnectionFactory.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp index 21e642ce572..1508e3cc911 100755 --- a/cpp/src/Ice/ConnectionFactory.cpp +++ b/cpp/src/Ice/ConnectionFactory.cpp @@ -125,6 +125,14 @@ IceInternal::OutgoingConnectionFactory::destroy() } void +IceInternal::OutgoingConnectionFactory::updateConnectionObservers() +{ + IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); + for_each(_connections.begin(), _connections.end(), + Ice::secondVoidMemFun<const ConnectorPtr, ConnectionI>(&ConnectionI::updateObserver)); +} + +void IceInternal::OutgoingConnectionFactory::waitUntilFinished() { multimap<ConnectorPtr, ConnectionIPtr> connections; @@ -1199,6 +1207,13 @@ IceInternal::IncomingConnectionFactory::destroy() } void +IceInternal::IncomingConnectionFactory::updateConnectionObservers() +{ + IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); + for_each(_connections.begin(), _connections.end(), Ice::voidMemFun(&ConnectionI::updateObserver)); +} + +void IceInternal::IncomingConnectionFactory::waitUntilHolding() const { set<ConnectionIPtr> connections; |