Nucleus
Barry Object Lists + replacing Task Queues 4d3c382 (3 years, 3 months ago)
diff --git a/task/task.c b/task/task.c
index 9fafc6f..8b64df0 100644
--- a/task/task.c
+++ b/task/task.c
@@ -14,34 +14,25 @@
void init_scheduler(void);
void timer_handler(struct InterruptFrame *frame);
-static void *task_new(void);
-static void task_delete(Object *);
+static void task_new(Object *);
/* Task object type */
ObjectType taskType = {
+ .size = sizeof(Task),
.new = task_new,
- .delete = task_delete,
};
Task *currentTask[MAX_CPUS];
pid_t nextTid = 1;
/* Create a new Task */
-static void *
-task_new(void)
+static void
+task_new(Object *obj)
{
- Task *task = kmalloc(sizeof(Task));
+ Task *task = (void *) obj;
task->tid = nextTid++;
task->priority = NORMAL;
task->state = READY;
- return task;
-}
-
-/* Destroy a Task */
-static void
-task_delete(Object *obj)
-{
- kfree(obj);
}
extern char stackTop[];