From 1b826c2fdc85faf47a26fd2ad5d20a025ab087ba Mon Sep 17 00:00:00 2001 From: Tedd Hansen Date: Sun, 19 Aug 2007 17:47:47 +0000 Subject: Added "StopScriot()" to ScriptManager. Stops Executor from executing events in script, removes script from EventQueueManagers target list, tells AppDomainManager that script is no longer active (and ready for unload). --- OpenSim/Region/ScriptEngine/Common/Executor.cs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/ScriptEngine/Common/Executor.cs') diff --git a/OpenSim/Region/ScriptEngine/Common/Executor.cs b/OpenSim/Region/ScriptEngine/Common/Executor.cs index dedf00d..148ae0f 100644 --- a/OpenSim/Region/ScriptEngine/Common/Executor.cs +++ b/OpenSim/Region/ScriptEngine/Common/Executor.cs @@ -17,12 +17,24 @@ namespace OpenSim.Region.ScriptEngine.Common private IScript m_Script; private Dictionary Events = new Dictionary(); + private bool m_Running = true; + public Executor(IScript Script) { m_Script = Script; } + + public void StopScript() + { + m_Running = false; + } + public AppDomain GetAppDomain() + { + return AppDomain.CurrentDomain; + } + public void ExecuteEvent(string FunctionName, object[] args) { // IMPORTANT: Types and MemberInfo-derived objects require a LOT of memory. @@ -36,7 +48,11 @@ namespace OpenSim.Region.ScriptEngine.Common //} //} - + if (m_Running == false) + { + // Script is inactive, do not execute! + return; + } string EventName = m_Script.State() + "_event_" + FunctionName; -- cgit v1.1