diff options
author | John Hurliman | 2010-09-10 12:04:12 -0700 |
---|---|---|
committer | John Hurliman | 2010-09-10 12:04:12 -0700 |
commit | dd277a0d02f1aa79f4fcb5d108cbc696e90500c2 (patch) | |
tree | 7e396d347e43504ec23c59c3749f995f15c2e254 /OpenSim/Region/CoreModules | |
parent | * Run SimianGrid session updates asynchronously instead of from the main hear... (diff) | |
download | opensim-SC-dd277a0d02f1aa79f4fcb5d108cbc696e90500c2.zip opensim-SC-dd277a0d02f1aa79f4fcb5d108cbc696e90500c2.tar.gz opensim-SC-dd277a0d02f1aa79f4fcb5d108cbc696e90500c2.tar.bz2 opensim-SC-dd277a0d02f1aa79f4fcb5d108cbc696e90500c2.tar.xz |
First pass at cleaning up thread safety in EntityManager and SceneGraph
Diffstat (limited to 'OpenSim/Region/CoreModules')
6 files changed, 8 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index dd7d831..7270304 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs | |||
@@ -436,7 +436,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments | |||
436 | 436 | ||
437 | // We can NOT use the dictionries here, as we are looking | 437 | // We can NOT use the dictionries here, as we are looking |
438 | // for an entity by the fromAssetID, which is NOT the prim UUID | 438 | // for an entity by the fromAssetID, which is NOT the prim UUID |
439 | List<EntityBase> detachEntities = m_scene.GetEntities(); | 439 | EntityBase[] detachEntities = m_scene.GetEntities(); |
440 | SceneObjectGroup group; | 440 | SceneObjectGroup group; |
441 | 441 | ||
442 | foreach (EntityBase entity in detachEntities) | 442 | foreach (EntityBase entity in detachEntities) |
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs index b25636f..283b33b 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs | |||
@@ -102,7 +102,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
102 | { | 102 | { |
103 | Dictionary<UUID, AssetType> assetUuids = new Dictionary<UUID, AssetType>(); | 103 | Dictionary<UUID, AssetType> assetUuids = new Dictionary<UUID, AssetType>(); |
104 | 104 | ||
105 | List<EntityBase> entities = m_scene.GetEntities(); | 105 | EntityBase[] entities = m_scene.GetEntities(); |
106 | List<SceneObjectGroup> sceneObjects = new List<SceneObjectGroup>(); | 106 | List<SceneObjectGroup> sceneObjects = new List<SceneObjectGroup>(); |
107 | 107 | ||
108 | /* | 108 | /* |
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index da7a284..ea71fd9 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | |||
@@ -794,7 +794,8 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
794 | public void EventManagerOnParcelPrimCountUpdate() | 794 | public void EventManagerOnParcelPrimCountUpdate() |
795 | { | 795 | { |
796 | ResetAllLandPrimCounts(); | 796 | ResetAllLandPrimCounts(); |
797 | foreach (EntityBase obj in m_scene.Entities) | 797 | EntityBase[] entities = m_scene.Entities.GetEntities(); |
798 | foreach (EntityBase obj in entities) | ||
798 | { | 799 | { |
799 | if (obj != null) | 800 | if (obj != null) |
800 | { | 801 | { |
diff --git a/OpenSim/Region/CoreModules/World/Serialiser/SerialiseObjects.cs b/OpenSim/Region/CoreModules/World/Serialiser/SerialiseObjects.cs index bef7fe4..5067ebd 100644 --- a/OpenSim/Region/CoreModules/World/Serialiser/SerialiseObjects.cs +++ b/OpenSim/Region/CoreModules/World/Serialiser/SerialiseObjects.cs | |||
@@ -80,7 +80,7 @@ namespace OpenSim.Region.CoreModules.World.Serialiser | |||
80 | { | 80 | { |
81 | string xmlstream = "<scene>"; | 81 | string xmlstream = "<scene>"; |
82 | 82 | ||
83 | List<EntityBase> EntityList = scene.GetEntities(); | 83 | EntityBase[] EntityList = scene.GetEntities(); |
84 | List<string> EntityXml = new List<string>(); | 84 | List<string> EntityXml = new List<string>(); |
85 | 85 | ||
86 | foreach (EntityBase ent in EntityList) | 86 | foreach (EntityBase ent in EntityList) |
diff --git a/OpenSim/Region/CoreModules/World/Serialiser/SerialiserModule.cs b/OpenSim/Region/CoreModules/World/Serialiser/SerialiserModule.cs index 58e4261..98fe493 100644 --- a/OpenSim/Region/CoreModules/World/Serialiser/SerialiserModule.cs +++ b/OpenSim/Region/CoreModules/World/Serialiser/SerialiserModule.cs | |||
@@ -165,12 +165,12 @@ namespace OpenSim.Region.CoreModules.World.Serialiser | |||
165 | return SceneXmlLoader.SaveGroupToXml2(grp); | 165 | return SceneXmlLoader.SaveGroupToXml2(grp); |
166 | } | 166 | } |
167 | 167 | ||
168 | public void SavePrimListToXml2(List<EntityBase> entityList, string fileName) | 168 | public void SavePrimListToXml2(EntityBase[] entityList, string fileName) |
169 | { | 169 | { |
170 | SceneXmlLoader.SavePrimListToXml2(entityList, fileName); | 170 | SceneXmlLoader.SavePrimListToXml2(entityList, fileName); |
171 | } | 171 | } |
172 | 172 | ||
173 | public void SavePrimListToXml2(List<EntityBase> entityList, TextWriter stream, Vector3 min, Vector3 max) | 173 | public void SavePrimListToXml2(EntityBase[] entityList, TextWriter stream, Vector3 min, Vector3 max) |
174 | { | 174 | { |
175 | SceneXmlLoader.SavePrimListToXml2(entityList, stream, min, max); | 175 | SceneXmlLoader.SavePrimListToXml2(entityList, stream, min, max); |
176 | } | 176 | } |
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs index 57eff8a..1d9c2bd 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs | |||
@@ -212,7 +212,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
212 | double[,] hm = whichScene.Heightmap.GetDoubles(); | 212 | double[,] hm = whichScene.Heightmap.GetDoubles(); |
213 | tc = Environment.TickCount; | 213 | tc = Environment.TickCount; |
214 | m_log.Info("[MAPTILE]: Generating Maptile Step 2: Object Volume Profile"); | 214 | m_log.Info("[MAPTILE]: Generating Maptile Step 2: Object Volume Profile"); |
215 | List<EntityBase> objs = whichScene.GetEntities(); | 215 | EntityBase[] objs = whichScene.GetEntities(); |
216 | Dictionary<uint, DrawStruct> z_sort = new Dictionary<uint, DrawStruct>(); | 216 | Dictionary<uint, DrawStruct> z_sort = new Dictionary<uint, DrawStruct>(); |
217 | //SortedList<float, RectangleDrawStruct> z_sort = new SortedList<float, RectangleDrawStruct>(); | 217 | //SortedList<float, RectangleDrawStruct> z_sort = new SortedList<float, RectangleDrawStruct>(); |
218 | List<float> z_sortheights = new List<float>(); | 218 | List<float> z_sortheights = new List<float>(); |