diff options
author | Adam Frisby | 2008-11-24 15:14:33 +0000 |
---|---|---|
committer | Adam Frisby | 2008-11-24 15:14:33 +0000 |
commit | 2a8ff937d513abbd84a96cbfdbe74bc710b60e6a (patch) | |
tree | de115ac9c9ebc6266d44f8de673a1fde6f1b9848 /OpenSim/Region/Environment/Scenes/Scene.cs | |
parent | * Refactored a number of locks into EntityManager to limit the scope of the l... (diff) | |
download | opensim-SC_OLD-2a8ff937d513abbd84a96cbfdbe74bc710b60e6a.zip opensim-SC_OLD-2a8ff937d513abbd84a96cbfdbe74bc710b60e6a.tar.gz opensim-SC_OLD-2a8ff937d513abbd84a96cbfdbe74bc710b60e6a.tar.bz2 opensim-SC_OLD-2a8ff937d513abbd84a96cbfdbe74bc710b60e6a.tar.xz |
* Removed more locks on Entities
* Entities should now in theory be lock-free externally.
* Other properties may cause blocking however[?].
* ScenePresence maintains separate locks so isn't fixed by this commit.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 55e8634..c20c718 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -244,21 +244,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
244 | // set { m_sceneGraph.SceneObjects = value; } | 244 | // set { m_sceneGraph.SceneObjects = value; } |
245 | // } | 245 | // } |
246 | 246 | ||
247 | /** | ||
248 | /// <summary> | ||
249 | /// The dictionary of all entities in this scene. The contents of this dictionary may be changed at any time. | ||
250 | /// If you wish to add or remove entities, please use the appropriate method for that entity rather than | ||
251 | /// editing this dictionary directly. | ||
252 | /// | ||
253 | /// If you want a list of entities where the list itself is guaranteed not to change, please use | ||
254 | /// GetEntities() | ||
255 | /// </summary> | ||
256 | public Dictionary<UUID, EntityBase> Entities | ||
257 | { | ||
258 | get { return m_sceneGraph.Entities; } | ||
259 | set { m_sceneGraph.Entities = value; } | ||
260 | } | ||
261 | */ | ||
262 | public EntityManager Entities | 247 | public EntityManager Entities |
263 | { | 248 | { |
264 | get { return m_sceneGraph.Entities; } | 249 | get { return m_sceneGraph.Entities; } |
@@ -609,14 +594,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
609 | if (ScriptEngine) | 594 | if (ScriptEngine) |
610 | { | 595 | { |
611 | m_log.Info("Stopping all Scripts in Scene"); | 596 | m_log.Info("Stopping all Scripts in Scene"); |
612 | lock (Entities) | 597 | foreach (EntityBase ent in Entities) |
613 | { | 598 | { |
614 | foreach (EntityBase ent in Entities) | 599 | if (ent is SceneObjectGroup) |
615 | { | 600 | { |
616 | if (ent is SceneObjectGroup) | 601 | ((SceneObjectGroup) ent).RemoveScriptInstances(); |
617 | { | ||
618 | ((SceneObjectGroup)ent).RemoveScriptInstances(); | ||
619 | } | ||
620 | } | 602 | } |
621 | } | 603 | } |
622 | } | 604 | } |