From 4ee8d8a813f6ee164fb361fbf6c26384b668bd1a Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 7 Aug 2009 20:43:23 +0100 Subject: Another stab at cmickeyb's patch for script GC. Moved the Close() for the appdomain-hosted parts into a new destructor on ScriptInstance. --- .../Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs index a2da14e..977ac30 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs @@ -32,15 +32,19 @@ using System.Text; namespace OpenSim.Region.ScriptEngine.Shared.Api.Runtime { - [Serializable] public class ScriptSponsor : MarshalByRefObject, ISponsor { - // In theory: I execute, therefore I am. - // If GC collects this class then sponsorship will expire + private bool m_closed = false; + public TimeSpan Renewal(ILease lease) { - return TimeSpan.FromMinutes(2); + if (!m_closed) + return lease.InitialLeaseTime; + return TimeSpan.FromTicks(0); } + + public void Close() { m_closed = true; } + #if DEBUG // For tracing GC while debugging public static bool GCDummy = false; -- cgit v1.1