summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rwxr-xr-xcpp/src/Glacier2/glacier2router.dsp2
-rw-r--r--cpp/src/Ice/RouterInfo.cpp8
2 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/Glacier2/glacier2router.dsp b/cpp/src/Glacier2/glacier2router.dsp
index 1f94750fd0e..a452fa504fe 100755
--- a/cpp/src/Glacier2/glacier2router.dsp
+++ b/cpp/src/Glacier2/glacier2router.dsp
@@ -43,7 +43,7 @@ RSC=rc.exe
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /WX /GR /GX /O2 /I ".." /I "../../include" /D "_CONSOLE" /D "NDEBUG" /D "WIN32_LEAN_AND_MEAN" /FD /c
-# SUBTRACT CPP /Z<none> /Fr /YX
+# SUBTRACT CPP /Fr /YX
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
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());
+ }
}
}