aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2015-01-26 23:32:51 +0000
committerJustin Clark-Casey (justincc)2015-01-26 23:32:51 +0000
commit13ba2f2d830bf53b9c96b40357bbdd612ff21f16 (patch)
treea239abd9243f451a5620aec15535552c3a010aaa /OpenSim/Region/ScriptEngine
parentOn a multi-region simulator when AppDomain = true, make sure the DLL from the... (diff)
downloadopensim-SC_OLD-13ba2f2d830bf53b9c96b40357bbdd612ff21f16.zip
opensim-SC_OLD-13ba2f2d830bf53b9c96b40357bbdd612ff21f16.tar.gz
opensim-SC_OLD-13ba2f2d830bf53b9c96b40357bbdd612ff21f16.tar.bz2
opensim-SC_OLD-13ba2f2d830bf53b9c96b40357bbdd612ff21f16.tar.xz
If an exception comes out of DoOnRezScript in DoOnRezScriptQueue(), then only fail a single script rather than halting the exntire script startup process.
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs23
1 files changed, 17 insertions, 6 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index dd5bc0d..3f77371 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -1051,14 +1051,25 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1051 1051
1052 while (m_CompileQueue.Dequeue(out o)) 1052 while (m_CompileQueue.Dequeue(out o))
1053 { 1053 {
1054 if (DoOnRezScript(o)) 1054 try
1055 { 1055 {
1056 scriptsStarted++; 1056 if (DoOnRezScript(o))
1057 {
1058 scriptsStarted++;
1057 1059
1058 if (m_InitialStartup) 1060 if (m_InitialStartup)
1059 if (scriptsStarted % 50 == 0) 1061 if (scriptsStarted % 50 == 0)
1060 m_log.InfoFormat( 1062 m_log.InfoFormat(
1061 "[XEngine]: Started {0} scripts in {1}", scriptsStarted, m_Scene.Name); 1063 "[XEngine]: Started {0} scripts in {1}", scriptsStarted, m_Scene.Name);
1064 }
1065 }
1066 catch (Exception e)
1067 {
1068 m_log.Error(
1069 string.Format(
1070 "[XEngine]: Failure in DoOnRezScriptQueue() for item {0} in {1}. Continuing. Exception ",
1071 o[1], m_Scene.Name),
1072 e);
1062 } 1073 }
1063 } 1074 }
1064 1075