aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase
diff options
context:
space:
mode:
authorTedd Hansen2008-02-22 22:53:19 +0000
committerTedd Hansen2008-02-22 22:53:19 +0000
commit46cfc475aa53fd7e7eee270f4dea4bd25c75c050 (patch)
treee623dcdc149b8249441def51a44b5b15983a1d55 /OpenSim/Region/ScriptEngine/Common/ScriptEngineBase
parentOne more: Async LSL command thread is also shared now. (diff)
downloadopensim-SC-46cfc475aa53fd7e7eee270f4dea4bd25c75c050.zip
opensim-SC-46cfc475aa53fd7e7eee270f4dea4bd25c75c050.tar.gz
opensim-SC-46cfc475aa53fd7e7eee270f4dea4bd25c75c050.tar.bz2
opensim-SC-46cfc475aa53fd7e7eee270f4dea4bd25c75c050.tar.xz
ScriptEngine works again (startup-nully-error gone)
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Common/ScriptEngineBase')
-rw-r--r--OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncLSLCommandManager.cs19
-rw-r--r--OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventQueueThreadClass.cs8
-rw-r--r--OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/MaintenanceThread.cs8
-rw-r--r--OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptEngine.cs2
4 files changed, 18 insertions, 19 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncLSLCommandManager.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncLSLCommandManager.cs
index 556593d..33c6511 100644
--- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncLSLCommandManager.cs
+++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/AsyncLSLCommandManager.cs
@@ -42,13 +42,13 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
42 public class AsyncLSLCommandManager : iScriptEngineFunctionModule 42 public class AsyncLSLCommandManager : iScriptEngineFunctionModule
43 { 43 {
44 private static Thread cmdHandlerThread; 44 private static Thread cmdHandlerThread;
45 private int cmdHandlerThreadCycleSleepms; 45 private static int cmdHandlerThreadCycleSleepms;
46 46
47 private ScriptEngine m_ScriptEngine; 47 private ScriptEngine m_ScriptEngine;
48 48
49 public AsyncLSLCommandManager() 49 public AsyncLSLCommandManager(ScriptEngine _ScriptEngine)
50 { 50 {
51 //m_ScriptEngine = _ScriptEngine; 51 m_ScriptEngine = _ScriptEngine;
52 ReadConfig(); 52 ReadConfig();
53 53
54 StartThread(); 54 StartThread();
@@ -92,7 +92,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
92 } 92 }
93 } 93 }
94 94
95 private void CmdHandlerThreadLoop() 95 private static void CmdHandlerThreadLoop()
96 { 96 {
97 while (true) 97 while (true)
98 { 98 {
@@ -101,14 +101,13 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
101 while (true) 101 while (true)
102 { 102 {
103 Thread.Sleep(cmdHandlerThreadCycleSleepms); 103 Thread.Sleep(cmdHandlerThreadCycleSleepms);
104 lock (ScriptEngine.ScriptEngines) 104 //lock (ScriptEngine.ScriptEngines)
105 { 105 //{
106 foreach (ScriptEngine se in ScriptEngine.ScriptEngines) 106 foreach (ScriptEngine se in new ArrayList(ScriptEngine.ScriptEngines))
107 { 107 {
108 m_ScriptEngine = se; 108 se.m_ASYNCLSLCommandManager.DoOneCmdHandlerPass();
109 m_ScriptEngine.m_ASYNCLSLCommandManager.DoOneCmdHandlerPass();
110 } 109 }
111 } 110 //}
112 // Sleep before next cycle 111 // Sleep before next cycle
113 //Thread.Sleep(cmdHandlerThreadCycleSleepms); 112 //Thread.Sleep(cmdHandlerThreadCycleSleepms);
114 } 113 }
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventQueueThreadClass.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventQueueThreadClass.cs
index a70e93b..caf043d 100644
--- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventQueueThreadClass.cs
+++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/EventQueueThreadClass.cs
@@ -73,9 +73,9 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
73 73
74 public void ReadConfig() 74 public void ReadConfig()
75 { 75 {
76 //lock (ScriptEngine.ScriptEngines) 76 lock (ScriptEngine.ScriptEngines)
77 //{ 77 {
78 foreach (ScriptEngine m_ScriptEngine in new ArrayList(ScriptEngine.ScriptEngines)) 78 foreach (ScriptEngine m_ScriptEngine in ScriptEngine.ScriptEngines)
79 { 79 {
80 ScriptEngineName = m_ScriptEngine.ScriptEngineName; 80 ScriptEngineName = m_ScriptEngine.ScriptEngineName;
81 nothingToDoSleepms = m_ScriptEngine.ScriptConfigSource.GetInt("SleepTimeIfNoScriptExecutionMs", 50); 81 nothingToDoSleepms = m_ScriptEngine.ScriptConfigSource.GetInt("SleepTimeIfNoScriptExecutionMs", 50);
@@ -106,7 +106,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
106 break; 106 break;
107 } 107 }
108 } 108 }
109 //} 109 }
110 // Now set that priority 110 // Now set that priority
111 if (EventQueueThread != null) 111 if (EventQueueThread != null)
112 if (EventQueueThread.IsAlive) 112 if (EventQueueThread.IsAlive)
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/MaintenanceThread.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/MaintenanceThread.cs
index eb57a9e..0fcabab 100644
--- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/MaintenanceThread.cs
+++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/MaintenanceThread.cs
@@ -164,9 +164,9 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
164 MaintenanceLoopTicks_Other_Count++; 164 MaintenanceLoopTicks_Other_Count++;
165 165
166 166
167 lock (ScriptEngine.ScriptEngines) 167 //lock (ScriptEngine.ScriptEngines)
168 { 168 //{
169 foreach (ScriptEngine m_ScriptEngine in ScriptEngine.ScriptEngines) 169 foreach (ScriptEngine m_ScriptEngine in new ArrayList(ScriptEngine.ScriptEngines))
170 { 170 {
171 lastScriptEngine = m_ScriptEngine; 171 lastScriptEngine = m_ScriptEngine;
172 // Re-reading config every x seconds 172 // Re-reading config every x seconds
@@ -212,7 +212,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
212 m_ScriptEngine.m_ScriptManager.DoScriptLoadUnload(); 212 m_ScriptEngine.m_ScriptManager.DoScriptLoadUnload();
213 } 213 }
214 } 214 }
215 } 215 //}
216 } 216 }
217 } 217 }
218 catch (Exception ex) 218 catch (Exception ex)
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptEngine.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptEngine.cs
index b861ad5..ac115e9 100644
--- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptEngine.cs
+++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptEngine.cs
@@ -110,7 +110,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
110 newScriptManager.Start(); 110 newScriptManager.Start();
111 m_ScriptManager = newScriptManager; 111 m_ScriptManager = newScriptManager;
112 m_AppDomainManager = new AppDomainManager(this); 112 m_AppDomainManager = new AppDomainManager(this);
113 m_ASYNCLSLCommandManager = new AsyncLSLCommandManager(); 113 m_ASYNCLSLCommandManager = new AsyncLSLCommandManager(this);
114 if (m_MaintenanceThread == null) 114 if (m_MaintenanceThread == null)
115 m_MaintenanceThread = new MaintenanceThread(); 115 m_MaintenanceThread = new MaintenanceThread();
116 116