public GetDelayedSuccessor ( ) : |
||
Résultat |
public override TraversalInfo GetDelayedSuccessor()
{
Contract.Assert(ZingerConfiguration.DoDelayBounding);
ZingDBScheduler.Delay(ZingDBSchedState);
int nextProcess;
while ((nextProcess = ZingDBScheduler.Next(ZingDBSchedState)) != -1)
{
if (ProcessInfo[nextProcess].Status != RUNNABLE)
{
ZingDBScheduler.Delay(ZingDBSchedState);
continue;
}
else
{
break;
}
}
if (nextProcess == -1)
return null;
return RunProcess(nextProcess);
}