aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/YEngine/XMRScriptThread.cs
diff options
context:
space:
mode:
authorUbitUmarov2019-04-01 13:58:41 +0100
committerUbitUmarov2019-04-01 13:58:41 +0100
commit7f55db72d2c2be3d0e3396dc8a4ba8ca1f504fd3 (patch)
tree0039d5e99e05308b48f965c080a03f4f30850520 /OpenSim/Region/ScriptEngine/YEngine/XMRScriptThread.cs
parentstill issues on fast hg tps (diff)
downloadopensim-SC-7f55db72d2c2be3d0e3396dc8a4ba8ca1f504fd3.zip
opensim-SC-7f55db72d2c2be3d0e3396dc8a4ba8ca1f504fd3.tar.gz
opensim-SC-7f55db72d2c2be3d0e3396dc8a4ba8ca1f504fd3.tar.bz2
opensim-SC-7f55db72d2c2be3d0e3396dc8a4ba8ca1f504fd3.tar.xz
Yengine: try fix changing scripts running state if the have long events
Diffstat (limited to 'OpenSim/Region/ScriptEngine/YEngine/XMRScriptThread.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/YEngine/XMRScriptThread.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/YEngine/XMRScriptThread.cs b/OpenSim/Region/ScriptEngine/YEngine/XMRScriptThread.cs
index 08c7e80..f68fd51 100644
--- a/OpenSim/Region/ScriptEngine/YEngine/XMRScriptThread.cs
+++ b/OpenSim/Region/ScriptEngine/YEngine/XMRScriptThread.cs
@@ -166,7 +166,9 @@ namespace OpenSim.Region.ScriptEngine.Yengine
166 166
167 if(inst == null) 167 if(inst == null)
168 break; 168 break;
169 if(inst.m_IState != XMRInstState.ONSTARTQ) 169 if (inst.m_IState == XMRInstState.SUSPENDED)
170 continue;
171 if (inst.m_IState != XMRInstState.ONSTARTQ)
170 throw new Exception("bad state"); 172 throw new Exception("bad state");
171 RunInstance(inst, tid); 173 RunInstance(inst, tid);
172 if(m_SuspendScriptThreadFlag || m_Exiting) 174 if(m_SuspendScriptThreadFlag || m_Exiting)
@@ -187,7 +189,9 @@ namespace OpenSim.Region.ScriptEngine.Yengine
187 189
188 if(inst != null) 190 if(inst != null)
189 { 191 {
190 if(inst.m_IState != XMRInstState.ONYIELDQ) 192 if (inst.m_IState == XMRInstState.SUSPENDED)
193 continue;
194 if (inst.m_IState != XMRInstState.ONYIELDQ)
191 throw new Exception("bad state"); 195 throw new Exception("bad state");
192 RunInstance(inst, tid); 196 RunInstance(inst, tid);
193 continue; 197 continue;