sched: initialise kernel_thread parent ptr
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user