Newer
Older
#include "task-descriptor.h"
#include "kernel.h"
#include "syscall-handler.h"
int handlerCreate(KernelStruct* Colonel, TD* Active, int priority, void (*code)()) {
TD* NewTask = NewTask(priority,Active->TaskID),code);
return pushToScheduler(Colonel, NewTask);
}
int handle(TD* Active, Request* req) {
switch(req->n) {
return handlerCreate(Active, Active->TaskPriority, ???); // TODO
case SYS_MyTid:
return Active->TaskID;
case SYS_ParentTid:
if (isTaskAlive(Active->ParentID)) return Active->ParentID;
else return FAILURE;