If a script state save fails for some reason on shutdown/region removal, get xengine to spit out some useful information and continue to save other script states
parent
f1d4b8d83e
commit
b199a2dea3
|
@ -589,8 +589,20 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||||
if (m_Assemblies.ContainsKey(instance.AssetID))
|
if (m_Assemblies.ContainsKey(instance.AssetID))
|
||||||
{
|
{
|
||||||
string assembly = m_Assemblies[instance.AssetID];
|
string assembly = m_Assemblies[instance.AssetID];
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
instance.SaveState(assembly);
|
instance.SaveState(assembly);
|
||||||
}
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_log.Error(
|
||||||
|
string.Format(
|
||||||
|
"[XEngine]: Failed final state save for script {0}.{1}, item UUID {2}, prim UUID {3} in {4}. Exception ",
|
||||||
|
instance.PrimName, instance.ScriptName, instance.ItemID, instance.ObjectID, World.Name)
|
||||||
|
, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Clear the event queue and abort the instance thread
|
// Clear the event queue and abort the instance thread
|
||||||
//
|
//
|
||||||
|
@ -707,8 +719,19 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||||
assembly = m_Assemblies[i.AssetID];
|
assembly = m_Assemblies[i.AssetID];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
i.SaveState(assembly);
|
i.SaveState(assembly);
|
||||||
}
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_log.Error(
|
||||||
|
string.Format(
|
||||||
|
"[XEngine]: Failed to save state of script {0}.{1}, item UUID {2}, prim UUID {3} in {4}. Exception ",
|
||||||
|
i.PrimName, i.ScriptName, i.ItemID, i.ObjectID, World.Name)
|
||||||
|
, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
instances.Clear();
|
instances.Clear();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue