diff options
author | Benoit Foucher <benoit@zeroc.com> | 2009-01-07 19:37:17 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2009-01-07 19:37:17 +0100 |
commit | b5042ce24aaa2dcff2092046b322ff61c3d9ef8c (patch) | |
tree | dcdca6930377ad9098eeb9996ce1f7663c79e5db /cpp/src/IceGrid/NodeI.cpp | |
parent | Other fix for 3601 - plugins can be destroyed twice (diff) | |
download | ice-b5042ce24aaa2dcff2092046b322ff61c3d9ef8c.tar.bz2 ice-b5042ce24aaa2dcff2092046b322ff61c3d9ef8c.tar.xz ice-b5042ce24aaa2dcff2092046b322ff61c3d9ef8c.zip |
Squashed commit of the following:
commit 8019e6de4480f361a83d8944afec60793454c322
Author: Benoit Foucher <benoit@zeroc.com>
Date: Wed Jan 7 17:16:40 2009 +0100
Fixed bug 3516 - Fixed scaling issue when using round-robin replica groups
commit 6c36afb32dda8b37b7d5330ed51a439bc73b17db
Author: Benoit Foucher <benoit@zeroc.com>
Date: Wed Jan 7 17:16:36 2009 +0100
Fixed bug 3230 - IceGrid node leak
Diffstat (limited to 'cpp/src/IceGrid/NodeI.cpp')
-rw-r--r-- | cpp/src/IceGrid/NodeI.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/NodeI.cpp b/cpp/src/IceGrid/NodeI.cpp index 6381b39760e..77ed21db79e 100644 --- a/cpp/src/IceGrid/NodeI.cpp +++ b/cpp/src/IceGrid/NodeI.cpp @@ -831,9 +831,17 @@ NodeI::read(const string& filename, Ice::Long pos, int size, Ice::Long& newPos, } void -NodeI::destroy() +NodeI::shutdown() { IceUtil::Mutex::Lock sync(_serversLock); + for(map<string, set<ServerIPtr> >::const_iterator p = _serversByApplication.begin(); + p != _serversByApplication.end(); ++p) + { + for(set<ServerIPtr>::const_iterator q = p->second.begin(); q != p->second.end(); ++q) + { + (*q)->shutdown(); + } + } _serversByApplication.clear(); } |