diff options
author | Justin Clark-Casey (justincc) | 2015-01-26 23:32:51 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2015-01-26 23:32:51 +0000 |
commit | 13ba2f2d830bf53b9c96b40357bbdd612ff21f16 (patch) | |
tree | a239abd9243f451a5620aec15535552c3a010aaa | |
parent | On a multi-region simulator when AppDomain = true, make sure the DLL from the... (diff) | |
download | opensim-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.
-rw-r--r-- | OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 23 |
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 | ||