Skip to content
Snippets Groups Projects
syscall-handler.c 766 B
Newer Older
#include "task-descriptor.h"
#include "kernel.h"
#include "syscall-handler.h"


antnh6@gmail.com's avatar
antnh6@gmail.com committed
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) {
antnh6@gmail.com's avatar
antnh6@gmail.com committed
            return handlerCreate(Active, Active->TaskPriority, ???); // TODO
            return Active->TaskID;
antnh6@gmail.com's avatar
antnh6@gmail.com committed
            if (isTaskAlive(Active->ParentID))  return Active->ParentID;
            else return FAILURE;
            Active->TaskState = Ready;
antnh6@gmail.com's avatar
antnh6@gmail.com committed
            return SUCCESS;
antnh6@gmail.com's avatar
antnh6@gmail.com committed