From 241ed5734ee3c5b1417484dfa22af6cf6ae60b82 Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 2 Jun 2010 17:14:37 +0100 Subject: After aborting a thread, wait for it to actually finish. EXPERIMENTAL for OSG testing. DO NOT UPDATE TO THIS UNLESS YOU KNOW WHAT YOU'RE DOING! --- OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | 1 + 1 file changed, 1 insertion(+) (limited to 'OpenSim/Region/ScriptEngine/Shared/Instance') diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index d30d2dc..f5b187f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs @@ -536,6 +536,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance if (!m_InSelfDelete) result.Abort(); + result.Wait(TimeSpan.FromSeconds(10)); lock (m_EventQueue) { m_CurrentResult = null; -- cgit v1.1 From c5cfae7bac9273d32c78409fe5080a202043b277 Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 2 Jun 2010 17:39:58 +0100 Subject: Revert "After aborting a thread, wait for it to actually finish. EXPERIMENTAL for OSG" This reverts commit 241ed5734ee3c5b1417484dfa22af6cf6ae60b82. --- OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | 1 - 1 file changed, 1 deletion(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/Instance') diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index f5b187f..d30d2dc 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs @@ -536,7 +536,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance if (!m_InSelfDelete) result.Abort(); - result.Wait(TimeSpan.FromSeconds(10)); lock (m_EventQueue) { m_CurrentResult = null; -- cgit v1.1 From 20e6b7a320df97c69c9f23b2081c376951c39bed Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 2 Jun 2010 18:05:58 +0100 Subject: Next OSG test. Cowardly refuse to save the state of badly behaved scripts, instead of forcing the issue. --- OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/Instance') diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index d30d2dc..18351ad 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs @@ -541,7 +541,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance m_CurrentResult = null; } - return true; + return false; } public void SetState(string state) @@ -991,7 +991,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance public string GetXMLState() { bool run = Running; - Stop(100); + bool stopped = Stop(100); Running = run; // We should not be doing this, but since we are about to @@ -1002,6 +1002,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance // Force an update of the in-memory plugin data // + if (!stopped) + return String.Empty; + PluginData = AsyncCommandManager.GetSerializationData(m_Engine, m_ItemID); return ScriptSerializer.Serialize(this); -- cgit v1.1