diff options
author | Justin Clarke Casey | 2009-02-03 19:36:57 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2009-02-03 19:36:57 +0000 |
commit | 984cf943757b15f05c2cfcb540c6647754a531e7 (patch) | |
tree | 11b213fcefddc9fdaddc95461eeee1ef2c8f8b10 /OpenSim/Region/Environment | |
parent | * Mark the old group after linking as deleted (diff) | |
download | opensim-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 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 8 |
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; |