From 7e751d5010f56daefe1a5f50d0ccfd9a6732288d Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 19 Sep 2016 12:39:22 +0100 Subject: [PATCH] replace no thread safe code --- OpenSim/Services/Connectors/Grid/GridServicesConnector.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs b/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs index 6c6ccf9887..ceb2146d1d 100644 --- a/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs +++ b/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs @@ -278,10 +278,12 @@ namespace OpenSim.Services.Connectors public GridRegion GetRegionByPosition(UUID scopeID, int x, int y) { + GridRegion rinfo = null; ulong regionHandle = Util.UIntsToLong((uint)x, (uint)y); - if (m_regionCache.Contains(regionHandle)) - return (GridRegion)m_regionCache[regionHandle]; + // this cache includes NULL regions + if (m_regionCache.TryGetValue(regionHandle, out rinfo)) + return rinfo; Dictionary sendData = new Dictionary(); @@ -304,7 +306,6 @@ namespace OpenSim.Services.Connectors return null; } - GridRegion rinfo = null; if (reply != string.Empty) { Dictionary replyData = ServerUtils.ParseXmlResponse(reply);