opensim – Diff between revs 3 and 4

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 3 Rev 4
Line 49... Line 49...
49 { 49 {
50 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 50 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
Line 51... Line 51...
51   51  
52 private static Thread cmdHandlerThread; 52 private static Thread cmdHandlerThread;
53 private static int cmdHandlerThreadCycleSleepms; 53 private static int cmdHandlerThreadCycleSleepms;
Line 54... Line 54...
54 private static readonly AutoResetEvent cmdHandlerResetEvent = new AutoResetEvent(false); 54 private static readonly System.Timers.Timer cmdEventTimer = new System.Timers.Timer();
55   55  
56 /// <summary> 56 /// <summary>
57 /// Lock for reading/writing static components of AsyncCommandManager. 57 /// Lock for reading/writing static components of AsyncCommandManager.
Line 177... Line 177...
177 } 177 }
178 } 178 }
Line 179... Line 179...
179   179  
180 private static void StartThread() 180 private static void StartThread()
-   181 {
181 { 182 if (!cmdEventTimer.Enabled.Equals(false)) return;
-   183 // Start the timer event
182 if (cmdHandlerThread == null) 184 cmdEventTimer.Elapsed += (sender, args) =>
-   185 {
-   186 try
183 { 187 {
184 // Start the thread that will be doing the work 188 DoOneCmdHandlerPass();
185 cmdHandlerThread 189 }
-   190 catch (Exception e)
186 = Watchdog.StartThread( 191 {
-   192 m_log.Error("[ASYNC COMMAND MANAGER]: Exception in command handler pass: ", e);
187 CmdHandlerThreadLoop, "AsyncLSLCmdHandlerThread", ThreadPriority.Normal, true, true); 193 }
-   194 };
-   195 cmdEventTimer.Interval = cmdHandlerThreadCycleSleepms;
188 } 196 cmdEventTimer.Enabled = true;
Line 189... Line 197...
189 } 197 }
190   198  
191 private void ReadConfig() 199 private void ReadConfig()
192 { 200 {
193 // cmdHandlerThreadCycleSleepms = m_ScriptEngine.Config.GetInt("AsyncLLCommandLoopms", 100); 201 // cmdHandlerThreadCycleSleepms = m_ScriptEngine.Config.GetInt("AsyncLLCommandLoopms", 100);
194 // TODO: Make this sane again 202 // TODO: Make this sane again
Line 195... Line 203...
195 cmdHandlerThreadCycleSleepms = 100; 203 cmdHandlerThreadCycleSleepms = 10;
196 } 204 }
197   205  
Line 221... Line 229...
221 { 229 {
222 while (true) 230 while (true)
223 { 231 {
224 try 232 try
225 { 233 {
226 //Thread.Sleep(cmdHandlerThreadCycleSleepms); 234 Thread.Sleep(cmdHandlerThreadCycleSleepms);
Line 227... Line 235...
227   235  
228 DoOneCmdHandlerPass(); -  
-   236 DoOneCmdHandlerPass();
229 cmdHandlerResetEvent.WaitOne(cmdHandlerThreadCycleSleepms, false); 237  
230 Watchdog.UpdateThread(); 238 Watchdog.UpdateThread();
231 } 239 }
232 catch (Exception e) 240 catch (Exception e)
233 { 241 {
Line 259... Line 267...
259   267  
260 // Check dataserver 268 // Check dataserver
261 m_Dataserver[s].ExpireRequests(); 269 m_Dataserver[s].ExpireRequests();
262 } 270 }
263 } -  
264 cmdHandlerResetEvent.Set(); 271 }
Line 265... Line 272...
265 } 272 }
266   273  
267 /// <summary> 274 /// <summary>
Line 439... Line 446...
439 } 446 }
440 } 447 }
441 } 448 }
442 } 449 }
443 } 450 }
444 } 451 }
445   452