sched: initialise kernel_thread parent ptr

This commit is contained in:
2023-04-09 16:38:08 +01:00
parent da415c7f6d
commit 80f5e0483c
2 changed files with 7 additions and 1 deletions

View File

@@ -39,6 +39,7 @@ kern_status_t setup_kernel_task(void)
kernel_thread->tr_id = 0;
kernel_thread->tr_prio = PRIO_NORMAL;
kernel_thread->tr_state = THREAD_READY;
kernel_thread->tr_parent = __kernel_task;
unsigned long flags;
task_lock_irqsave(__kernel_task, &flags);
@@ -80,5 +81,6 @@ task_t *task_from_pid(unsigned int pid)
task_t *current_task(void)
{
return current_thread()->tr_parent;
thread_t *thr = current_thread();
return thr ? thr->tr_parent : NULL;
}

View File

@@ -32,6 +32,10 @@ void thread_free(thread_t *thr)
thread_t *current_thread(void)
{
cpu_data_t *cpu = get_this_cpu();
if (!cpu) {
return NULL;
}
thread_t *out = cpu->c_current_thread;
put_cpu(cpu);
return out;