From f6a5f757253669ba2f7141779360631589bcb4a3 Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Fri, 5 Dec 2014 09:29:10 +0100 Subject: [PATCH] fix wrong calculation of active tasks --- kernel/tasks.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/tasks.c b/kernel/tasks.c index 4c92990..84a0e91 100644 --- a/kernel/tasks.c +++ b/kernel/tasks.c @@ -124,14 +124,14 @@ static void NORETURN do_exit(int arg) page_map_drop(); - curr_task->status = TASK_FINISHED; - reschedule(); - // decrease the number of active tasks spinlock_irqsave_lock(&readyqueues.lock); readyqueues.nr_tasks--; spinlock_irqsave_unlock(&readyqueues.lock); + curr_task->status = TASK_FINISHED; + reschedule(); + kprintf("Kernel panic: scheduler found no valid task\n"); while(1) { HALT;