= GVL_Scheduler.MAX_JOBS_IN_QUEUE THEN M_AddJob := FALSE; RETURN; END_IF _astJobQueue[_uiJobCount] := stJob; _uiJobCount := _uiJobCount + 1; M_AddJob := TRUE;]]> (GVL_Scheduler.MAX_PRIORITY - GVL_Scheduler.AGING_STEP) THEN _astJobQueue[i].uiPrio := GVL_Scheduler.MAX_PRIORITY; ELSE _astJobQueue[i].uiPrio := _astJobQueue[i].uiPrio + GVL_Scheduler.AGING_STEP; END_IF END_IF END_FOR]]> _astJobQueue[_uiIndex].uiPrio THEN _uiIndex := _uiCnt; END_IF END_FOR // Output job stJob := _astJobQueue[_uiIndex]; // Close gap with last element _astJobQueue[_uiIndex] := _astJobQueue[_uiJobCount - 1]; // Adjust job number in queue _uiJobCount := _uiJobCount - 1; // Repost success M_GetHighest := TRUE;]]>