diff options
Diffstat (limited to 'kernel/proc/sched.c')
-rw-r--r-- | kernel/proc/sched.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/kernel/proc/sched.c b/kernel/proc/sched.c index 31976bb..c8f209c 100644 --- a/kernel/proc/sched.c +++ b/kernel/proc/sched.c @@ -168,9 +168,17 @@ long sched_cancellable_sleep_on(ktqueue_t *queue) curthr->kt_state = KT_SLEEP_CANCELLABLE; + if (curthr->kt_cancelled) + { + return -EINTR; + } + sched_switch(queue); - // TODO: finish this function - consider the ipl_wait() function + if (curthr->kt_cancelled) + { + return -EINTR; + } return 0; } |