BarryServer : Git

All the code for all my projects
// BarryServer : Git / Nucleus / commit / 4d3c382801026ca46da937de6d7261f1f6805d9e / task / task.c

// Related

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[];