From b4355e456405ee7ac1e20bb6e29f3ad351b708a3 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Tue, 19 Aug 2008 07:04:47 +0000 Subject: [PATCH] * This reverts a change where m_regions[RegionHandle] was replaced instead of removed in LocalBackEndServices It used to be like the change above a long long time ago but we found that it caused intermittent neighbor connectivity issues. I added comments above it so that it's looked at more closely next time. --- .../Region/Communications/Local/LocalBackEndServices.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index 75019678f0..c0e67223b1 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs @@ -102,8 +102,13 @@ namespace OpenSim.Region.Communications.Local else { // Already in our list, so the region went dead and restarted. - // replace the old regioninfo - m_regions[regionInfo.RegionHandle] = regionInfo; + // don't replace the old regioninfo.. this might be a locking issue.. however we need to + // remove it and let it add normally below or we get extremely strange and intermittant + // connectivity errors. + // Don't change this line below to 'm_regions[regionInfo.RegionHandle] = regionInfo' unless you + // *REALLY* know what you are doing here. + m_regions.Remove(regionInfo.RegionHandle); + m_log.Warn("[INTERREGION STANDALONE]: Region registered twice. Region went down and came back up."); RegionCommsListener regionHost = new RegionCommsListener();