aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs7
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs24
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs8
3 files changed, 27 insertions, 12 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
index 63ae6c7..d76c7c1 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
@@ -205,13 +205,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
205 // 205 //
206 if ( !(tie.InnerException is EventAbortException) ) 206 if ( !(tie.InnerException is EventAbortException) )
207 { 207 {
208 throw tie; 208 throw;
209 } 209 }
210 } 210 }
211 catch (Exception e) 211
212 {
213 throw e;
214 }
215 } 212 }
216 213
217 protected void initEventFlags() 214 protected void initEventFlags()
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
index 06307bb..15604dc 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptBase.cs
@@ -39,7 +39,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
39{ 39{
40 public partial class ScriptBaseClass : MarshalByRefObject, IScript 40 public partial class ScriptBaseClass : MarshalByRefObject, IScript
41 { 41 {
42 private Dictionary<string,MethodInfo> inits = new Dictionary<string,MethodInfo>(); 42 private Dictionary<string, MethodInfo> inits = new Dictionary<string, MethodInfo>();
43 43
44 // Object expires if we don't keep it alive 44 // Object expires if we don't keep it alive
45 // sponsor will be added on object load 45 // sponsor will be added on object load
@@ -50,25 +50,35 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
50 ILease lease = (ILease)base.InitializeLifetimeService(); 50 ILease lease = (ILease)base.InitializeLifetimeService();
51 if (lease.CurrentState == LeaseState.Initial) 51 if (lease.CurrentState == LeaseState.Initial)
52 { 52 {
53 //lease.InitialLeaseTime = TimeSpan.Zero;
53 lease.InitialLeaseTime = TimeSpan.FromMinutes(1); 54 lease.InitialLeaseTime = TimeSpan.FromMinutes(1);
54 lease.SponsorshipTimeout = TimeSpan.FromMinutes(2); 55 lease.SponsorshipTimeout = TimeSpan.FromMinutes(2);
55 lease.RenewOnCallTime = TimeSpan.FromSeconds(2); 56 lease.RenewOnCallTime = TimeSpan.FromSeconds(2);
56 } 57 }
57 return lease; 58 return lease;
58 } 59 }
60#if DEBUG
61 // For tracing GC while debugging
62 public static bool GCDummy = false;
63 ~ScriptBaseClass()
64 {
65 GCDummy = true;
66 }
67#endif
68
59 69
60 public ScriptBaseClass() 70 public ScriptBaseClass()
61 { 71 {
62 m_Executor = new Executor(this); 72 m_Executor = new Executor(this);
63 73
64 MethodInfo[] myArrayMethodInfo = GetType().GetMethods(BindingFlags.Public|BindingFlags.Instance); 74 MethodInfo[] myArrayMethodInfo = GetType().GetMethods(BindingFlags.Public | BindingFlags.Instance);
65 75
66 foreach (MethodInfo mi in myArrayMethodInfo) 76 foreach (MethodInfo mi in myArrayMethodInfo)
67 { 77 {
68 if (mi.Name.Length > 7 && mi.Name.Substring(0, 7) == "ApiType") 78 if (mi.Name.Length > 7 && mi.Name.Substring(0, 7) == "ApiType")
69 { 79 {
70 string type=mi.Name.Substring(7); 80 string type = mi.Name.Substring(7);
71 inits[type]=mi; 81 inits[type] = mi;
72 } 82 }
73 } 83 }
74 } 84 }
@@ -130,7 +140,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
130 140
131 foreach (FieldInfo field in fields) 141 foreach (FieldInfo field in fields)
132 { 142 {
133 m_Fields[field.Name]=field; 143 m_Fields[field.Name] = field;
134 144
135 if (field.FieldType == typeof(LSL_Types.list)) // ref type, copy 145 if (field.FieldType == typeof(LSL_Types.list)) // ref type, copy
136 { 146 {
@@ -141,7 +151,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
141 c.Data = data; 151 c.Data = data;
142 vars[field.Name] = c; 152 vars[field.Name] = c;
143 } 153 }
144 else if (field.FieldType == typeof(LSL_Types.LSLInteger) || 154 else if (field.FieldType == typeof(LSL_Types.LSLInteger) ||
145 field.FieldType == typeof(LSL_Types.LSLString) || 155 field.FieldType == typeof(LSL_Types.LSLString) ||
146 field.FieldType == typeof(LSL_Types.LSLFloat) || 156 field.FieldType == typeof(LSL_Types.LSLFloat) ||
147 field.FieldType == typeof(Int32) || 157 field.FieldType == typeof(Int32) ||
@@ -174,7 +184,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
174 Array.Copy(data, 0, v.Data, 0, data.Length); 184 Array.Copy(data, 0, v.Data, 0, data.Length);
175 m_Fields[var.Key].SetValue(this, v); 185 m_Fields[var.Key].SetValue(this, v);
176 } 186 }
177 else if (m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLInteger) || 187 else if (m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLInteger) ||
178 m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLString) || 188 m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLString) ||
179 m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLFloat) || 189 m_Fields[var.Key].FieldType == typeof(LSL_Types.LSLFloat) ||
180 m_Fields[var.Key].FieldType == typeof(Int32) || 190 m_Fields[var.Key].FieldType == typeof(Int32) ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs
index 5b28608..13c25d7 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/ScriptSponsor.cs
@@ -14,5 +14,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Runtime
14 { 14 {
15 return TimeSpan.FromMinutes(2); 15 return TimeSpan.FromMinutes(2);
16 } 16 }
17#if DEBUG
18 // For tracing GC while debugging
19 public static bool GCDummy = false;
20 ~ScriptSponsor()
21 {
22 GCDummy = true;
23 }
24#endif
17 } 25 }
18} 26}