示例#1
0
void YKDispatcher(int saveContext)
{
	YKCtxSwCount = YKCtxSwCount + 1;

	YKSaveContext(saveContext);
	YKExitMutex();
}
示例#2
0
void YKDispatcher(int saveContext)
{

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

    YKSaveContext(saveContext);
    YKExitMutex();
    //printString("RESUME previously delayed task\n\r");
}
示例#3
0
文件: yakc.c 项目: fminor/minormoore
//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);
	}
}