diff options
author | Marc Laukien <marc@zeroc.com> | 2002-05-08 20:41:57 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-05-08 20:41:57 +0000 |
commit | 97df9b3623b315d5d60aaeeb5b281737650bb13a (patch) | |
tree | 9eee722216c6ac70364f5781ffced35a3b2dd156 /cpp/src/Ice/ObjectAdapterI.cpp | |
parent | support for dynamically loading object,exception factories (diff) | |
download | ice-97df9b3623b315d5d60aaeeb5b281737650bb13a.tar.bz2 ice-97df9b3623b315d5d60aaeeb5b281737650bb13a.tar.xz ice-97df9b3623b315d5d60aaeeb5b281737650bb13a.zip |
waitForDeactivate
Diffstat (limited to 'cpp/src/Ice/ObjectAdapterI.cpp')
-rw-r--r-- | cpp/src/Ice/ObjectAdapterI.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp index 7b80c71e8aa..69fc2d477bb 100644 --- a/cpp/src/Ice/ObjectAdapterI.cpp +++ b/cpp/src/Ice/ObjectAdapterI.cpp @@ -99,7 +99,6 @@ Ice::ObjectAdapterI::deactivate() for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), Ice::voidMemFun(&IncomingConnectionFactory::destroy)); - _incomingConnectionFactories.clear(); _instance->outgoingConnectionFactory()->removeAdapter(this); @@ -114,6 +113,15 @@ Ice::ObjectAdapterI::deactivate() _deactivated = true; } +void +Ice::ObjectAdapterI::waitForDeactivate() +{ + IceUtil::Mutex::Lock sync(*this); + + for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(), + Ice::voidMemFun(&IncomingConnectionFactory::waitUntilFinished)); +} + ObjectPrx Ice::ObjectAdapterI::add(const ObjectPtr& object, const Identity& ident) { |