From 8031f8ec09df4f654c86a9c7bc498664f7b9d9dc Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Thu, 26 Aug 2010 00:08:53 +0100 Subject: Improve consistency of locking for SOG.m_parts in order to avoid race conditions in linking and unlinking --- OpenSim/Region/ScriptEngine/Shared/Helpers.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/Helpers.cs') diff --git a/OpenSim/Region/ScriptEngine/Shared/Helpers.cs b/OpenSim/Region/ScriptEngine/Shared/Helpers.cs index 4855d64..41501f2 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Helpers.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Helpers.cs @@ -209,12 +209,15 @@ namespace OpenSim.Region.ScriptEngine.Shared else Type = 0x02; // Passive - foreach (SceneObjectPart p in part.ParentGroup.Children.Values) + lock (part.ParentGroup.Children) { - if (p.Inventory.ContainsScripts()) + foreach (SceneObjectPart p in part.ParentGroup.Children.Values) { - Type |= 0x08; // Scripted - break; + if (p.Inventory.ContainsScripts()) + { + Type |= 0x08; // Scripted + break; + } } } -- cgit v1.1