Experimental! Implement ISponsor in ScriptInstance
parent
d10f157183
commit
ad0d2fea20
|
@ -53,7 +53,7 @@ using OpenSim.Region.ScriptEngine.Interfaces;
|
||||||
|
|
||||||
namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
||||||
{
|
{
|
||||||
public class ScriptInstance : IScriptInstance
|
public class ScriptInstance : MarshalByRefObject, IScriptInstance, ISponsor
|
||||||
{
|
{
|
||||||
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
@ -96,7 +96,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
||||||
private string m_CurrentState = String.Empty;
|
private string m_CurrentState = String.Empty;
|
||||||
private UUID m_RegionID = UUID.Zero;
|
private UUID m_RegionID = UUID.Zero;
|
||||||
|
|
||||||
private ScriptSponsor m_ScriptSponsor;
|
|
||||||
private Dictionary<KeyValuePair<int, int>, KeyValuePair<int, int>>
|
private Dictionary<KeyValuePair<int, int>, KeyValuePair<int, int>>
|
||||||
m_LineMap;
|
m_LineMap;
|
||||||
|
|
||||||
|
@ -261,9 +260,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
||||||
Path.GetFileNameWithoutExtension(assembly),
|
Path.GetFileNameWithoutExtension(assembly),
|
||||||
"SecondLife.Script");
|
"SecondLife.Script");
|
||||||
|
|
||||||
m_ScriptSponsor = new ScriptSponsor();
|
|
||||||
ILease lease = (ILease)RemotingServices.GetLifetimeService(m_Script as ScriptBaseClass);
|
ILease lease = (ILease)RemotingServices.GetLifetimeService(m_Script as ScriptBaseClass);
|
||||||
lease.Register(m_ScriptSponsor);
|
lease.Register(this);
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
@ -365,14 +363,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
~ScriptInstance()
|
|
||||||
{
|
|
||||||
m_Script.Close();
|
|
||||||
m_ScriptSponsor.Close();
|
|
||||||
ILease lease = (ILease)RemotingServices.GetLifetimeService(m_Script as ScriptBaseClass);
|
|
||||||
lease.Unregister(m_ScriptSponsor);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Init()
|
public void Init()
|
||||||
{
|
{
|
||||||
if (!m_startOnInit) return;
|
if (!m_startOnInit) return;
|
||||||
|
@ -1016,5 +1006,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TimeSpan Renewal(ILease lease)
|
||||||
|
{
|
||||||
|
return lease.InitialLeaseTime;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue