aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
diff options
context:
space:
mode:
authorTedd Hansen2007-08-25 15:31:47 +0000
committerTedd Hansen2007-08-25 15:31:47 +0000
commit53be4774b32f6736373c1364c3bd659c977fbb4e (patch)
treec81bbc0d41b375bcc403c574da612d18b038c228 /OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
parentHopefully fixed the bugs in primitives rotation editing (diff)
downloadopensim-SC_OLD-53be4774b32f6736373c1364c3bd659c977fbb4e.zip
opensim-SC_OLD-53be4774b32f6736373c1364c3bd659c977fbb4e.tar.gz
opensim-SC_OLD-53be4774b32f6736373c1364c3bd659c977fbb4e.tar.bz2
opensim-SC_OLD-53be4774b32f6736373c1364c3bd659c977fbb4e.tar.xz
Scripts no longer crash sim after 5 minutes (override InitializeLifetimeService). Loading/Unloading of scripts are now handled in separate thread so server is no delayed because of this. Each script is loaded into a single AppDomain (temporary test for script unload, eats ~15KB more memory for each script). Unload of scripts has been verified to free up memory.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs18
1 files changed, 18 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
index ca51542..187ac59 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
@@ -7,6 +7,7 @@ using OpenSim.Region.Environment.Scenes.Scripting;
7using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler; 7using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler;
8using OpenSim.Region.ScriptEngine.Common; 8using OpenSim.Region.ScriptEngine.Common;
9using OpenSim.Framework.Console; 9using OpenSim.Framework.Console;
10using System.Runtime.Remoting.Lifetime;
10 11
11namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler 12namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
12{ 13{
@@ -35,6 +36,23 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
35 return m_state; 36 return m_state;
36 } 37 }
37 38
39 // Object never expires
40 public override Object InitializeLifetimeService()
41 {
42 Console.WriteLine("LSL_BuiltIn_Commands: InitializeLifetimeService()");
43 // return null;
44 ILease lease = (ILease)base.InitializeLifetimeService();
45
46 if (lease.CurrentState == LeaseState.Initial)
47 {
48 lease.InitialLeaseTime = TimeSpan.Zero; // TimeSpan.FromMinutes(1);
49 // lease.SponsorshipTimeout = TimeSpan.FromMinutes(2);
50 // lease.RenewOnCallTime = TimeSpan.FromSeconds(2);
51 }
52 return lease;
53 }
54
55
38 public Scene World 56 public Scene World
39 { 57 {
40 get { return m_manager.World; } 58 get { return m_manager.World; }