From 8cd7ca568da35db5acef1db74970df3ebe11d714 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 16 Jul 2014 22:58:38 +0100 Subject: Change default script stop method to co-op instead of abort. co-op should be more stable as it doesn't abort threads, which can trigger virtual machine instability This change will be invisible to users as script DLLs are recompiled automatically where necessary, though the change won't take affect until the next simulator restart. This change has no effect on existing script state. If you want to continue using abort, set ScriptStopStrategy = abort in the [XEngine] section of OpenSim.ini --- OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/ScriptEngine') diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 89f1c49..96da0a8 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs @@ -86,6 +86,10 @@ namespace OpenSim.Region.ScriptEngine.XEngine /// private int m_StartDelay; + /// + /// Are we stopping scripts co-operatively by inserting checks in them at C# compile time (true) or aborting + /// their threads (false)? + /// private bool m_coopTermination; private int m_IdleTimeout; @@ -242,7 +246,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine m_ScriptConfig = configSource.Configs["XEngine"]; m_ConfigSource = configSource; - string rawScriptStopStrategy = m_ScriptConfig.GetString("ScriptStopStrategy", "abort"); + string rawScriptStopStrategy = m_ScriptConfig.GetString("ScriptStopStrategy", "coop"); m_log.InfoFormat("[XEngine]: Script stop strategy is {0}", rawScriptStopStrategy); -- cgit v1.1