1
0
Эх сурвалжийг харах

Actually put IsChildAgent = true inside the lock, otherwise there is still a small window for race conditions on duplicate CompleteMovement calls

Justin Clark-Casey (justincc) 10 жил өмнө
parent
commit
3bc669ffc7

+ 3 - 1
OpenSim/Region/Framework/Scenes/ScenePresence.cs

@@ -933,10 +933,12 @@ namespace OpenSim.Region.Framework.Scenes
             //m_log.DebugFormat("[SCENE]: known regions in {0}: {1}", Scene.RegionInfo.RegionName, KnownChildRegionHandles.Count);
 
             lock (m_completeMovementLock)
+            {
                 if (!IsChildAgent)
                     return false;
 
-            IsChildAgent = false;
+                IsChildAgent = false;
+            }
 
             // Must reset this here so that a teleport to a region next to an existing region does not keep the flag
             // set and prevent the close of the connection on a subsequent re-teleport.