diff options
author | UbitUmarov | 2016-08-19 16:14:08 +0100 |
---|---|---|
committer | UbitUmarov | 2016-08-19 16:14:08 +0100 |
commit | 3fef5765543a21c03128bbd6b73d85f03595653f (patch) | |
tree | 6b05e900204d263b6fe4efd3dc5a8b358adaf458 | |
parent | do not enqueue next event processing if script is in SelfDelete state (diff) | |
download | opensim-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.cs | 11 |
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}", |