aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs27
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();