From bf4d1fbb8dbfe3470d4381542e586e44d84c2a01 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Thu, 28 Aug 2008 00:37:22 +0000 Subject: Refactor IScriptInstance / IScriptEngine to use a generic IScriptWorkItem, which is a thin wrapper around a IWorkItemResult from the SmartThreadPool. However, it is very easy to reimplement on top of basic threading and therefore makes the IScriptInstance class independent of the specific threading implementation. --- OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs') diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index ff50396..8ce1413 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs @@ -53,7 +53,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance public class ScriptInstance : IScriptInstance { private IScriptEngine m_Engine; - private IWorkItemResult m_CurrentResult=null; + private IScriptWorkItem m_CurrentResult=null; private Queue m_EventQueue = new Queue(32); private bool m_RunEvents = false; private LLUUID m_ItemID; @@ -346,7 +346,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance public bool Stop(int timeout) { - IWorkItemResult result; + IScriptWorkItem result; lock (m_EventQueue) { @@ -370,7 +370,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance m_RunEvents = false; } - if (SmartThreadPool.WaitAll(new IWorkItemResult[] {result}, new TimeSpan((long)timeout * 100000), false)) + if (result.Wait(new TimeSpan((long)timeout * 100000))) { return true; } -- cgit v1.1