YEngine: apply a few fixes by Mike Rieker

httptests
UbitUmarov 2018-04-10 21:15:55 +01:00
parent 63418349e5
commit dc35ce26d0
1 changed files with 9 additions and 4 deletions

View File

@ -383,10 +383,10 @@ namespace OpenSim.Region.ScriptEngine.Yengine
if(((ec == ScriptEventCode.None) && active) || if(((ec == ScriptEventCode.None) && active) ||
((ec != ScriptEventCode.None) && !active)) ((ec != ScriptEventCode.None) && !active))
{ {
Console.WriteLine("CheckRunLockInvariants: script=" + m_DescName); m_log.Error("CheckRunLockInvariants: script=" + m_DescName);
Console.WriteLine("CheckRunLockInvariants: eventcode=" + ec.ToString() + ", active=" + active.ToString()); m_log.Error("CheckRunLockInvariants: eventcode=" + ec.ToString() + ", active=" + active.ToString());
Console.WriteLine("CheckRunLockInvariants: m_RunOnePhase=" + m_RunOnePhase); m_log.Error("CheckRunLockInvariants: m_RunOnePhase=" + m_RunOnePhase);
Console.WriteLine("CheckRunLockInvariants: lastec=" + lastEventCode + ", lastAct=" + lastActive + ", lastPhase=" + lastRunPhase); m_log.Error("CheckRunLockInvariants: lastec=" + lastEventCode + ", lastAct=" + lastActive + ", lastPhase=" + lastRunPhase);
if(throwIt) if(throwIt)
throw new Exception("CheckRunLockInvariants: eventcode=" + ec.ToString() + ", active=" + active.ToString()); throw new Exception("CheckRunLockInvariants: eventcode=" + ec.ToString() + ", active=" + active.ToString());
} }
@ -767,6 +767,11 @@ namespace OpenSim.Region.ScriptEngine.Yengine
// vars to their initial values. // vars to their initial values.
doGblInit = true; doGblInit = true;
// Throw away all its stack frames.
// If the script is resetting itself, there shouldn't be any stack frames.
// If the script is being reset by something else, we throw them away cuz we want to start from the beginning of an event handler.
stackFrames = null;
// Set script to 'default' state and queue call to its // Set script to 'default' state and queue call to its
// 'state_entry()' event handler. // 'state_entry()' event handler.
m_RunOnePhase = "ResetLocked: posting default:state_entry() event"; m_RunOnePhase = "ResetLocked: posting default:state_entry() event";