aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
authorUbitUmarov2016-08-12 03:58:04 +0100
committerUbitUmarov2016-08-12 03:58:04 +0100
commitc04792142f332b7d1e892eb739b7e0b70b3bd0e7 (patch)
tree7a6549d3ca27504ca456ff8e2a07e082c5bbc3b8 /OpenSim/Region/Framework/Scenes/Scene.cs
parent remove code from httptests branch (diff)
downloadopensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.zip
opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.tar.gz
opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.tar.bz2
opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.tar.xz
partially revert commit 42a9afdc43cc.. of 06-12 not allowing more updates to be enqueued on deleted objects. Keep the catch up on deenqueue, so preserving the race condition safe guard. Let Scene sendkillObject work even if object is flaged as deleted. Still not clear how this are related to mantis 7858 or even less to 7990.
Diffstat (limited to '')
-rwxr-xr-xOpenSim/Region/Framework/Scenes/Scene.cs12
1 files changed, 3 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 33418e6..5d5ea89 100755
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -3866,15 +3866,9 @@ namespace OpenSim.Region.Framework.Scenes
3866 foreach (uint localID in localIDs) 3866 foreach (uint localID in localIDs)
3867 { 3867 {
3868 SceneObjectPart part = GetSceneObjectPart(localID); 3868 SceneObjectPart part = GetSceneObjectPart(localID);
3869 if (part != null) // It is a prim 3869 if (part != null && part.ParentGroup != null &&
3870 { 3870 part.ParentGroup.RootPart == part)
3871 if (part.ParentGroup != null && !part.ParentGroup.IsDeleted) // Valid 3871 deleteIDs.Add(localID);
3872 {
3873 if (part.ParentGroup.RootPart != part) // Child part
3874 continue;
3875 }
3876 }
3877 deleteIDs.Add(localID);
3878 } 3872 }
3879 3873
3880 ForEachClient(c => c.SendKillObject(deleteIDs)); 3874 ForEachClient(c => c.SendKillObject(deleteIDs));