aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-11-04 20:43:11 +0000
committerJustin Clarke Casey2008-11-04 20:43:11 +0000
commit03c402842a73d4590bc971e6b5869374b0dd5901 (patch)
tree5276bc452821894ed04e952e7279ca61a607923e /OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs
parent* Practise some defensive programming - gracefully terminate the thread if th... (diff)
downloadopensim-SC-03c402842a73d4590bc971e6b5869374b0dd5901.zip
opensim-SC-03c402842a73d4590bc971e6b5869374b0dd5901.tar.gz
opensim-SC-03c402842a73d4590bc971e6b5869374b0dd5901.tar.bz2
opensim-SC-03c402842a73d4590bc971e6b5869374b0dd5901.tar.xz
* Stop a problem in the DotNetEngine event queue thread from immediately bringing down the whole sim, though the sim will need a reboot
Diffstat (limited to 'OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs8
1 files changed, 8 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs
index b520cde..5d79f96 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs
@@ -211,6 +211,14 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
211 catch (ThreadAbortException) 211 catch (ThreadAbortException)
212 { 212 {
213 } 213 }
214 catch (Exception e)
215 {
216 // TODO: Let users in the sim and those entering it and possibly an external watchdog know what has happened
217 if (lastScriptEngine != null)
218 lastScriptEngine.Log.ErrorFormat(
219 "[{0}]: Event queue thread terminating with exception. PLEASE REBOOT YOUR SIM - SCRIPT EVENTS WILL NOT WORK UNTIL YOU DO. Exception is {1}",
220 ScriptEngineName, e);
221 }
214 } 222 }
215 223
216 public void DoProcessQueue() 224 public void DoProcessQueue()