aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsotech117 <michael_foiani@brown.edu>2024-03-04 03:19:08 +0000
committersotech117 <michael_foiani@brown.edu>2024-03-04 03:19:08 +0000
commitebfa0119159055d086f07aa05c15434666963826 (patch)
tree4726f089578e0264a04183d0e4b8126c0df9a809
parent7fcadc2e8c9d3cd0f05c55fe7856191628475fba (diff)
try to fix tests
-rw-r--r--kernel/drivers/tty/ldisc.c3
-rw-r--r--kernel/main/kmain.c2
-rw-r--r--kernel/proc/sched.c3
3 files changed, 3 insertions, 5 deletions
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)