aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2016-08-19 16:14:08 +0100
committerUbitUmarov2016-08-19 16:14:08 +0100
commit3fef5765543a21c03128bbd6b73d85f03595653f (patch)
tree6b05e900204d263b6fe4efd3dc5a8b358adaf458
parentdo not enqueue next event processing if script is in SelfDelete state (diff)
downloadopensim-SC_OLD-3fef5765543a21c03128bbd6b73d85f03595653f.zip
opensim-SC_OLD-3fef5765543a21c03128bbd6b73d85f03595653f.tar.gz
opensim-SC_OLD-3fef5765543a21c03128bbd6b73d85f03595653f.tar.bz2
opensim-SC_OLD-3fef5765543a21c03128bbd6b73d85f03595653f.tar.xz
avoid telling a work job to cancel itself
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs11
1 files changed, 9 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
index f75a5d4..f739484 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
@@ -871,13 +871,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
871 } 871 }
872 else 872 else
873 { 873 {
874 Exception e = null;
875
874 if (Engine.World.PipeEventsForScript(LocalID) || 876 if (Engine.World.PipeEventsForScript(LocalID) ||
875 data.EventName == "control") // Don't freeze avies! 877 data.EventName == "control") // Don't freeze avies!
876 { 878 {
877 // m_log.DebugFormat("[Script] Delivered event {2} in state {3} to {0}.{1}", 879 // m_log.DebugFormat("[Script] Delivered event {2} in state {3} to {0}.{1}",
878 // PrimName, ScriptName, data.EventName, State); 880 // PrimName, ScriptName, data.EventName, State);
879 881
880
881 try 882 try
882 { 883 {
883 m_CurrentEvent = data.EventName; 884 m_CurrentEvent = data.EventName;
@@ -892,6 +893,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
892 { 893 {
893 m_InEvent = false; 894 m_InEvent = false;
894 m_CurrentEvent = String.Empty; 895 m_CurrentEvent = String.Empty;
896 m_CurrentWorkItem = null; // no longer in a event that can be canceled
895 } 897 }
896 898
897 if (m_SaveState) 899 if (m_SaveState)
@@ -904,7 +906,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
904 m_SaveState = false; 906 m_SaveState = false;
905 } 907 }
906 } 908 }
907 catch (Exception e) 909 catch (Exception exx)
910 {
911 e = exx;
912 }
913
914 if(e != null)
908 { 915 {
909 // m_log.DebugFormat( 916 // m_log.DebugFormat(
910 // "[SCRIPT] Exception in script {0} {1}: {2}{3}", 917 // "[SCRIPT] Exception in script {0} {1}: {2}{3}",