* Implements Microthreading for MRM scripting.

* This is achieved through two new keywords "microthreaded" and "relax". example:
public microthreaded void MyFunc(...) {
  ...
  relax;
  ...
}
This commit is contained in:
Adam Frisby
2009-04-24 05:33:23 +00:00
parent 7066e6e69f
commit 883f7dde38
7 changed files with 162 additions and 2 deletions

View File

@@ -38,11 +38,13 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private readonly IGraphics m_graphics;
private readonly IExtension m_extend;
private readonly IMicrothreader m_threader;
//private Scene m_scene;
public Host(IObject m_obj, Scene m_scene, IExtension m_extend)
public Host(IObject m_obj, Scene m_scene, IExtension m_extend, IMicrothreader m_threader)
{
this.m_obj = m_obj;
this.m_threader = m_threader;
this.m_extend = m_extend;
//this.m_scene = m_scene;
@@ -68,5 +70,10 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
{
get { return m_extend; }
}
public IMicrothreader Microthreads
{
get { return m_threader; }
}
}
}