aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/drivers/tty/ldisc.c2
-rw-r--r--kernel/main/kmain.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/kernel/drivers/tty/ldisc.c b/kernel/drivers/tty/ldisc.c
index 4af35c5..1b79bae 100644
--- a/kernel/drivers/tty/ldisc.c
+++ b/kernel/drivers/tty/ldisc.c
@@ -215,6 +215,8 @@ void ldisc_key_pressed(ldisc_t *ldisc, char c)
// cook the buffer
ldisc->ldisc_cooked = ldisc->ldisc_head;
+ 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 d46b2c0..4cec7bd 100644
--- a/kernel/main/kmain.c
+++ b/kernel/main/kmain.c
@@ -171,6 +171,7 @@ static void *initproc_run(long arg1, void *arg2)
// dbg(DBG_PROC, "%s", "In main thread!\n");
#ifdef __DRIVERS__
+ driverstest_main(0, NULL);
char name[32] = {0};
for (long i = 0; i < __NTERMS__; i++)
{
@@ -179,8 +180,6 @@ 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