aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-07-29 23:39:10 +0100
committerJustin Clark-Casey (justincc)2014-07-29 23:39:10 +0100
commita4107cb6c70622c72cb5fc29e34c1c187787db7c (patch)
tree502a8152335e628bfaa93bf7ad6f692ab025abc4
parentImplement "scene debug set root-upd-per" for dropping 1 in N root agent updat... (diff)
downloadopensim-SC_OLD-a4107cb6c70622c72cb5fc29e34c1c187787db7c.zip
opensim-SC_OLD-a4107cb6c70622c72cb5fc29e34c1c187787db7c.tar.gz
opensim-SC_OLD-a4107cb6c70622c72cb5fc29e34c1c187787db7c.tar.bz2
opensim-SC_OLD-a4107cb6c70622c72cb5fc29e34c1c187787db7c.tar.xz
In TerrainModule, lock m_perClientPatchUpdates when removing entries.
This may have been the trigger CheckSendingPatchesToClients() dictionary out of sync exceptions in today's load test. Don't need to check ContainsKey() since Remove() returns false on a request to remove a key that it doesn't have
-rw-r--r--OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs5
1 files changed, 2 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
index a0f9129..cd76693 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
@@ -873,10 +873,9 @@ namespace OpenSim.Region.CoreModules.World.Terrain
873 presence.ControllingClient.OnLandUndo -= client_OnLandUndo; 873 presence.ControllingClient.OnLandUndo -= client_OnLandUndo;
874 presence.ControllingClient.OnUnackedTerrain -= client_OnUnackedTerrain; 874 presence.ControllingClient.OnUnackedTerrain -= client_OnUnackedTerrain;
875 } 875 }
876 if (m_perClientPatchUpdates.ContainsKey(client)) 876
877 { 877 lock (m_perClientPatchUpdates)
878 m_perClientPatchUpdates.Remove(client); 878 m_perClientPatchUpdates.Remove(client);
879 }
880 } 879 }
881 880
882 /// <summary> 881 /// <summary>