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
bullet-2.82
Justin Clark-Casey (justincc) 2014-07-29 23:39:10 +01:00
parent fcf5fb5dfd
commit a4107cb6c7
1 changed files with 2 additions and 3 deletions

View File

@ -873,11 +873,10 @@ namespace OpenSim.Region.CoreModules.World.Terrain
presence.ControllingClient.OnLandUndo -= client_OnLandUndo; presence.ControllingClient.OnLandUndo -= client_OnLandUndo;
presence.ControllingClient.OnUnackedTerrain -= client_OnUnackedTerrain; presence.ControllingClient.OnUnackedTerrain -= client_OnUnackedTerrain;
} }
if (m_perClientPatchUpdates.ContainsKey(client))
{ lock (m_perClientPatchUpdates)
m_perClientPatchUpdates.Remove(client); m_perClientPatchUpdates.Remove(client);
} }
}
/// <summary> /// <summary>
/// Scan over changes in the terrain and limit height changes. This enforces the /// Scan over changes in the terrain and limit height changes. This enforces the