Ejemplo n.º 1
0
void YKDispatcher(int saveContext)
{
	YKCtxSwCount = YKCtxSwCount + 1;

	YKSaveContext(saveContext);
	YKExitMutex();
}
Ejemplo n.º 2
0
void YKDispatcher(int saveContext)
{

    //printString("Entered Dispatcher\n\r");
    YKCtxSwCount = YKCtxSwCount + 1;

    YKSaveContext(saveContext);
    YKExitMutex();
    //printString("RESUME previously delayed task\n\r");
}
Ejemplo n.º 3
0
//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);
	}
}