From 8c2e0ce946012a4275e8dfa9d8dfd1d5a68d6e3e Mon Sep 17 00:00:00 2001 From: sotech117 Date: Sat, 2 Mar 2024 23:05:26 +0000 Subject: decent coding session --- kernel/proc/sched.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'kernel/proc/sched.c') 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; } -- cgit v1.2.3-70-g09d2