From ebfa0119159055d086f07aa05c15434666963826 Mon Sep 17 00:00:00 2001 From: sotech117 Date: Mon, 4 Mar 2024 03:19:08 +0000 Subject: try to fix tests --- kernel/drivers/tty/ldisc.c | 3 --- kernel/main/kmain.c | 2 ++ kernel/proc/sched.c | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) (limited to 'kernel') diff --git a/kernel/drivers/tty/ldisc.c b/kernel/drivers/tty/ldisc.c index b3e6fa1..4af35c5 100644 --- a/kernel/drivers/tty/ldisc.c +++ b/kernel/drivers/tty/ldisc.c @@ -215,9 +215,6 @@ void ldisc_key_pressed(ldisc_t *ldisc, char c) // cook the buffer ldisc->ldisc_cooked = ldisc->ldisc_head; - // wake up the thread that is sleeping on the wait queue of the line discipline - sched_wakeup_on(&ldisc->ldisc_read_queue, 0); - // emit a `\n` to the vterminal vterminal_write(&ldisc_to_tty(ldisc)->tty_vterminal, "\n", 1); break; diff --git a/kernel/main/kmain.c b/kernel/main/kmain.c index 0bca1c3..d46b2c0 100644 --- a/kernel/main/kmain.c +++ b/kernel/main/kmain.c @@ -179,6 +179,8 @@ static void *initproc_run(long arg1, void *arg2) kthread_t *thread = kthread_create(proc, kshell_proc_run, i, NULL); sched_make_runnable(thread); } + + driverstest_main(0, NULL); #endif // see if there are any children to wait for diff --git a/kernel/proc/sched.c b/kernel/proc/sched.c index 91264fa..b422ef1 100644 --- a/kernel/proc/sched.c +++ b/kernel/proc/sched.c @@ -166,13 +166,12 @@ long sched_cancellable_sleep_on(ktqueue_t *queue) KASSERT(queue != NULL); - curthr->kt_state = KT_SLEEP_CANCELLABLE; - if (curthr->kt_cancelled) { return -EINTR; } + curthr->kt_state = KT_SLEEP_CANCELLABLE; sched_switch(queue); if (curthr->kt_cancelled) -- cgit v1.2.3-70-g09d2