diff options
author | Melanie Thielker | 2008-07-11 17:52:39 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-07-11 17:52:39 +0000 |
commit | 53461fad2ce4f191404abb9f26e41cb3217daa66 (patch) | |
tree | cc59a648797c83be441ae30c715dc213245d104f /OpenSim/Region/ScriptEngine/Shared | |
parent | Experimental physics optimization: prims with all 3 dimensions less than 0.2 ... (diff) | |
download | opensim-SC_OLD-53461fad2ce4f191404abb9f26e41cb3217daa66.zip opensim-SC_OLD-53461fad2ce4f191404abb9f26e41cb3217daa66.tar.gz opensim-SC_OLD-53461fad2ce4f191404abb9f26e41cb3217daa66.tar.bz2 opensim-SC_OLD-53461fad2ce4f191404abb9f26e41cb3217daa66.tar.xz |
Patch #9140 (Mantis #1683)
Add LifetimeService overrides to all MarshalByRef derived classes
to prevent the remoting interfaces from expiring.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 14 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs | 14 |
2 files changed, 28 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index ae138b4..914aeac 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -25,6 +25,7 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | using System; | 27 | using System; |
28 | using System.Runtime.Remoting.Lifetime; | ||
28 | using Axiom.Math; | 29 | using Axiom.Math; |
29 | using libsecondlife; | 30 | using libsecondlife; |
30 | using Nini.Config; | 31 | using Nini.Config; |
@@ -55,6 +56,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
55 | m_itemID = itemID; | 56 | m_itemID = itemID; |
56 | } | 57 | } |
57 | 58 | ||
59 | // | ||
60 | // Never expire this object | ||
61 | // | ||
62 | public override Object InitializeLifetimeService() | ||
63 | { | ||
64 | ILease lease = (ILease)base.InitializeLifetimeService(); | ||
65 | |||
66 | if (lease.CurrentState == LeaseState.Initial) | ||
67 | { | ||
68 | lease.InitialLeaseTime = TimeSpan.Zero; | ||
69 | } | ||
70 | return lease; | ||
71 | } | ||
58 | 72 | ||
59 | // | 73 | // |
60 | // OpenSim functions | 74 | // OpenSim functions |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs index c12b1f8..5b32cde 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs | |||
@@ -40,6 +40,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
40 | { | 40 | { |
41 | private Dictionary<string,MethodInfo> inits = new Dictionary<string,MethodInfo>(); | 41 | private Dictionary<string,MethodInfo> inits = new Dictionary<string,MethodInfo>(); |
42 | 42 | ||
43 | // | ||
44 | // Never expire this object | ||
45 | // | ||
46 | public override Object InitializeLifetimeService() | ||
47 | { | ||
48 | ILease lease = (ILease)base.InitializeLifetimeService(); | ||
49 | |||
50 | if (lease.CurrentState == LeaseState.Initial) | ||
51 | { | ||
52 | lease.InitialLeaseTime = TimeSpan.Zero; | ||
53 | } | ||
54 | return lease; | ||
55 | } | ||
56 | |||
43 | public ScriptBaseClass() | 57 | public ScriptBaseClass() |
44 | { | 58 | { |
45 | MethodInfo[] myArrayMethodInfo = GetType().GetMethods(BindingFlags.Public|BindingFlags.Instance); | 59 | MethodInfo[] myArrayMethodInfo = GetType().GetMethods(BindingFlags.Public|BindingFlags.Instance); |