If an exception comes out of DoOnRezScript in DoOnRezScriptQueue(), then only fail a single script rather than halting the exntire script startup process.

0.8.1-post-fixes
Justin Clark-Casey (justincc) 2015-01-26 23:32:51 +00:00
parent 1bed3aff0b
commit 13ba2f2d83
1 changed files with 17 additions and 6 deletions

View File

@ -1051,14 +1051,25 @@ namespace OpenSim.Region.ScriptEngine.XEngine
while (m_CompileQueue.Dequeue(out o)) while (m_CompileQueue.Dequeue(out o))
{ {
if (DoOnRezScript(o)) try
{ {
scriptsStarted++; if (DoOnRezScript(o))
{
scriptsStarted++;
if (m_InitialStartup) if (m_InitialStartup)
if (scriptsStarted % 50 == 0) if (scriptsStarted % 50 == 0)
m_log.InfoFormat( m_log.InfoFormat(
"[XEngine]: Started {0} scripts in {1}", scriptsStarted, m_Scene.Name); "[XEngine]: Started {0} scripts in {1}", scriptsStarted, m_Scene.Name);
}
}
catch (Exception e)
{
m_log.Error(
string.Format(
"[XEngine]: Failure in DoOnRezScriptQueue() for item {0} in {1}. Continuing. Exception ",
o[1], m_Scene.Name),
e);
} }
} }