aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2009-02-03 19:36:57 +0000
committerJustin Clarke Casey2009-02-03 19:36:57 +0000
commit984cf943757b15f05c2cfcb540c6647754a531e7 (patch)
tree11b213fcefddc9fdaddc95461eeee1ef2c8f8b10 /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
parent* Mark the old group after linking as deleted (diff)
downloadopensim-SC_OLD-984cf943757b15f05c2cfcb540c6647754a531e7.zip
opensim-SC_OLD-984cf943757b15f05c2cfcb540c6647754a531e7.tar.gz
opensim-SC_OLD-984cf943757b15f05c2cfcb540c6647754a531e7.tar.bz2
opensim-SC_OLD-984cf943757b15f05c2cfcb540c6647754a531e7.tar.xz
* Lock the parts for the old group while we're clearing it as well - not much point doing one without the other
* Shouldn't result in any deadlocks as I don't think there are any locks in the calling code
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index bdede36..9c29338 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -2049,8 +2049,12 @@ namespace OpenSim.Region.Environment.Scenes
2049 } 2049 }
2050 2050
2051 m_scene.UnlinkSceneObject(objectGroup.UUID, true); 2051 m_scene.UnlinkSceneObject(objectGroup.UUID, true);
2052 objectGroup.m_isDeleted = true; 2052 objectGroup.m_isDeleted = true;
2053 objectGroup.m_parts.Clear(); 2053
2054 lock (objectGroup.m_parts)
2055 {
2056 objectGroup.m_parts.Clear();
2057 }
2054 2058
2055 // Can't do this yet since backup still makes use of the root part without any synchronization 2059 // Can't do this yet since backup still makes use of the root part without any synchronization
2056// objectGroup.m_rootPart = null; 2060// objectGroup.m_rootPart = null;