diff options
-rw-r--r-- | OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 53f899a..5a3f002 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -589,7 +589,19 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
589 | if (m_Assemblies.ContainsKey(instance.AssetID)) | 589 | if (m_Assemblies.ContainsKey(instance.AssetID)) |
590 | { | 590 | { |
591 | string assembly = m_Assemblies[instance.AssetID]; | 591 | string assembly = m_Assemblies[instance.AssetID]; |
592 | instance.SaveState(assembly); | 592 | |
593 | try | ||
594 | { | ||
595 | instance.SaveState(assembly); | ||
596 | } | ||
597 | catch (Exception e) | ||
598 | { | ||
599 | m_log.Error( | ||
600 | string.Format( | ||
601 | "[XEngine]: Failed final state save for script {0}.{1}, item UUID {2}, prim UUID {3} in {4}. Exception ", | ||
602 | instance.PrimName, instance.ScriptName, instance.ItemID, instance.ObjectID, World.Name) | ||
603 | , e); | ||
604 | } | ||
593 | } | 605 | } |
594 | 606 | ||
595 | // Clear the event queue and abort the instance thread | 607 | // Clear the event queue and abort the instance thread |
@@ -707,7 +719,18 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
707 | assembly = m_Assemblies[i.AssetID]; | 719 | assembly = m_Assemblies[i.AssetID]; |
708 | } | 720 | } |
709 | 721 | ||
710 | i.SaveState(assembly); | 722 | try |
723 | { | ||
724 | i.SaveState(assembly); | ||
725 | } | ||
726 | catch (Exception e) | ||
727 | { | ||
728 | m_log.Error( | ||
729 | string.Format( | ||
730 | "[XEngine]: Failed to save state of script {0}.{1}, item UUID {2}, prim UUID {3} in {4}. Exception ", | ||
731 | i.PrimName, i.ScriptName, i.ItemID, i.ObjectID, World.Name) | ||
732 | , e); | ||
733 | } | ||
711 | } | 734 | } |
712 | 735 | ||
713 | instances.Clear(); | 736 | instances.Clear(); |