From 1b16ad90882d4154e800acddfd3687edc378bf3b Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 4 Aug 2016 03:16:29 +0100 Subject: [PATCH] let get by handle also search on inner lookup table --- .../ServiceConnectorsOut/Grid/RegionInfoCache.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/RegionInfoCache.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/RegionInfoCache.cs index 9fd4cd504f..5eb525b265 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/RegionInfoCache.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Grid/RegionInfoCache.cs @@ -401,6 +401,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid ulong handle = region.RegionHandle & HANDLEMASK; if(storage != null) storage.Remove(handle); + removeFromInner(region); if(expires != null) { expires.Remove(handle); @@ -479,7 +480,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid handle &= HANDLEMASK; if(storage.ContainsKey(handle)) return storage[handle]; + + if(!innerHandles.ContainsKey(handle)) + return null; + ulong rhandle = innerHandles[handle]; + if(storage.ContainsKey(rhandle)) + return storage[rhandle]; + return null; }