aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
authorMelanie Thielker2008-07-11 17:52:39 +0000
committerMelanie Thielker2008-07-11 17:52:39 +0000
commit53461fad2ce4f191404abb9f26e41cb3217daa66 (patch)
treecc59a648797c83be441ae30c715dc213245d104f /OpenSim/Region/ScriptEngine/Shared
parentExperimental physics optimization: prims with all 3 dimensions less than 0.2 ... (diff)
downloadopensim-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.cs14
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs14
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 */
27using System; 27using System;
28using System.Runtime.Remoting.Lifetime;
28using Axiom.Math; 29using Axiom.Math;
29using libsecondlife; 30using libsecondlife;
30using Nini.Config; 31using 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);