Yengine: try fix changing scripts running state if the have long events

This commit is contained in:
UbitUmarov
2019-04-01 13:58:41 +01:00
parent 3b63699b9d
commit 7f55db72d2
4 changed files with 96 additions and 23 deletions

View File

@@ -166,7 +166,9 @@ namespace OpenSim.Region.ScriptEngine.Yengine
if(inst == null)
break;
if(inst.m_IState != XMRInstState.ONSTARTQ)
if (inst.m_IState == XMRInstState.SUSPENDED)
continue;
if (inst.m_IState != XMRInstState.ONSTARTQ)
throw new Exception("bad state");
RunInstance(inst, tid);
if(m_SuspendScriptThreadFlag || m_Exiting)
@@ -187,7 +189,9 @@ namespace OpenSim.Region.ScriptEngine.Yengine
if(inst != null)
{
if(inst.m_IState != XMRInstState.ONYIELDQ)
if (inst.m_IState == XMRInstState.SUSPENDED)
continue;
if (inst.m_IState != XMRInstState.ONYIELDQ)
throw new Exception("bad state");
RunInstance(inst, tid);
continue;