diff options
Diffstat (limited to 'kernel/proc/sched.c')
-rw-r--r-- | kernel/proc/sched.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/proc/sched.c b/kernel/proc/sched.c index c8f209c..91264fa 100644 --- a/kernel/proc/sched.c +++ b/kernel/proc/sched.c @@ -333,8 +333,12 @@ void sched_wakeup_on(ktqueue_t *q, kthread_t **ktp) { // NOT_YET_IMPLEMENTED("PROCS: sched_wakeup_on"); - if (sched_queue_empty(q)) + if (sched_queue_empty(q) || q == NULL) { + if (ktp) + { + *ktp = NULL; + } return; } @@ -344,6 +348,7 @@ void sched_wakeup_on(ktqueue_t *q, kthread_t **ktp) { *ktp = thr; } + sched_make_runnable(thr); intr_setipl(oldIPL); } |