diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 89f1c49836..96da0a8035 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); diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 995768a8ce..7ccc5fc623 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -1427,12 +1427,13 @@ ; DeleteScriptsOnStartup = false ; Controls whether scripts are stopped by aborting their threads externally (abort) - ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op) - ; co-op will be more stable but this option is currently experimental. + ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op). + ; co-op will be more stable as aborting threads can cause instability. + ; abort was the default option in OpenSimulator 0.8 and before. ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary. ; However, the setting change will not take affect until the next time you restart the simulator. ; Setting changes will not affect state information stored for scripts. - ;ScriptStopStrategy = abort + ScriptStopStrategy = co-op ; Rate to poll for asynchronous command replies (ms) ; currently unused