aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
authorUbitUmarov2017-05-23 05:41:04 +0100
committerUbitUmarov2017-05-23 05:41:04 +0100
commitd5e8e116d4b4e02e338d95ae084c9d6270139dcb (patch)
treeeb0dd9c32c90c96a3c653a27eb5da421f0bf9279 /OpenSim/Region/ScriptEngine/Shared
parentonly remove AsyncCommandManager thread when last instance is deleted (diff)
downloadopensim-SC-d5e8e116d4b4e02e338d95ae084c9d6270139dcb.zip
opensim-SC-d5e8e116d4b4e02e338d95ae084c9d6270139dcb.tar.gz
opensim-SC-d5e8e116d4b4e02e338d95ae084c9d6270139dcb.tar.bz2
opensim-SC-d5e8e116d4b4e02e338d95ae084c9d6270139dcb.tar.xz
protect AsyncCommandManager thread from fails on the several things it checks
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs13
1 files changed, 7 insertions, 6 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
index 5e7a724..cefd39e 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
@@ -247,24 +247,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
247 lock (staticLock) 247 lock (staticLock)
248 { 248 {
249 // Check HttpRequests 249 // Check HttpRequests
250 m_HttpRequest[m_ScriptEngines[0]].CheckHttpRequests(); 250 try { m_HttpRequest[m_ScriptEngines[0]].CheckHttpRequests(); } catch {}
251 251
252 // Check XMLRPCRequests 252 // Check XMLRPCRequests
253 m_XmlRequest[m_ScriptEngines[0]].CheckXMLRPCRequests(); 253 try { m_XmlRequest[m_ScriptEngines[0]].CheckXMLRPCRequests(); } catch {}
254 254
255 foreach (IScriptEngine s in m_ScriptEngines) 255 foreach (IScriptEngine s in m_ScriptEngines)
256 { 256 {
257 // Check Listeners 257 // Check Listeners
258 m_Listener[s].CheckListeners(); 258 try { m_Listener[s].CheckListeners(); } catch {}
259
259 260
260 // Check timers 261 // Check timers
261 m_Timer[s].CheckTimerEvents(); 262 try { m_Timer[s].CheckTimerEvents(); } catch {}
262 263
263 // Check Sensors 264 // Check Sensors
264 m_SensorRepeat[s].CheckSenseRepeaterEvents(); 265 try { m_SensorRepeat[s].CheckSenseRepeaterEvents(); } catch {}
265 266
266 // Check dataserver 267 // Check dataserver
267 m_Dataserver[s].ExpireRequests(); 268 try { m_Dataserver[s].ExpireRequests(); } catch {}
268 } 269 }
269 } 270 }
270 } 271 }