summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/RouterInfo.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2006-03-20 21:50:52 +0000
committerMarc Laukien <marc@zeroc.com>2006-03-20 21:50:52 +0000
commit3d1d80f17e58406f30b283e966b042ee2c5d36b2 (patch)
tree769a12024d4df762eeaadca6c9b45d8c2cd26c6f /cpp/src/Ice/RouterInfo.cpp
parentAdded requestId to Current. (diff)
downloadice-3d1d80f17e58406f30b283e966b042ee2c5d36b2.tar.bz2
ice-3d1d80f17e58406f30b283e966b042ee2c5d36b2.tar.xz
ice-3d1d80f17e58406f30b283e966b042ee2c5d36b2.zip
more glacier evictor stuff
Diffstat (limited to 'cpp/src/Ice/RouterInfo.cpp')
-rw-r--r--cpp/src/Ice/RouterInfo.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/Ice/RouterInfo.cpp b/cpp/src/Ice/RouterInfo.cpp
index 17e688cdcd4..721ec912fe7 100644
--- a/cpp/src/Ice/RouterInfo.cpp
+++ b/cpp/src/Ice/RouterInfo.cpp
@@ -242,6 +242,14 @@ IceInternal::RouterInfo::addProxy(const ObjectPrx& proxy)
// If we successfully added the proxy to the router, we add it to our local map.
//
_map.insert(_map.begin(), pair<const Identity, int>(proxy->ice_getIdentity(), 0));
+
+ //
+ // We also must remove whatever proxies the router evicted.
+ //
+ for(ObjectProxySeq::iterator q = evictedProxies.begin(); q != evictedProxies.end(); ++q)
+ {
+ _map.erase((*q)->ice_getIdentity());
+ }
}
}