void YKDispatcher(int saveContext) { YKCtxSwCount = YKCtxSwCount + 1; YKSaveContext(saveContext); YKExitMutex(); }
void YKDispatcher(int saveContext) { //printString("Entered Dispatcher\n\r"); YKCtxSwCount = YKCtxSwCount + 1; YKSaveContext(saveContext); YKExitMutex(); //printString("RESUME previously delayed task\n\r"); }
//2.5 void YKScheduler(int contextSaved) { /* Determines the highest priority ready task */ TCBptr next; if(!started) return; next = peak(YKRdyList); if(runningTask != NULL && runningTask->priority != next->priority){ YKEnterMutex(); YKCtxSwCount++; if(contextSaved == 0) { YKSaveContext(); } YKDispatcher(next); } else if (runningTask == NULL){ YKDispatcher(next); } }