diff options
| author | Tianhao Wang <shrik3@mailbox.org> | 2024-06-11 15:08:16 +0200 |
|---|---|---|
| committer | Tianhao Wang <shrik3@mailbox.org> | 2024-06-11 15:17:15 +0200 |
| commit | 81eb41c1ed8f80cfefa359089c63f5ea8501ac1d (patch) | |
| tree | 25524773986c9404ba6a54b97d310101e1b452f7 | |
| parent | bed59f00a63e89abf1f82a6b10d5e8a493d54788 (diff) | |
Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
| -rw-r--r-- | src/proc/task.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/proc/task.rs b/src/proc/task.rs index 2a6626d..720c93c 100644 --- a/src/proc/task.rs +++ b/src/proc/task.rs @@ -59,10 +59,13 @@ pub enum TaskState { pub extern "C" fn _task_entry() -> ! { let t = Task::current().unwrap(); println!("I'm Mr.Meeseeks {}, look at me~", t.pid); - Scheduler::do_schedule(); - println!("I'm Mr.Meeseeks {}, look at me~", t.pid); - Scheduler::do_schedule(); - unsafe { asm!("cli; hlt") }; + loop { + KBCTL_GLOBAL.lock().fetch_key(); + if let Some(k) = KBCTL_GLOBAL.lock().consume_key() { + println! {"thread {} got key: {}",t.pid ,k.asc} + } + Scheduler::do_schedule(); + } panic!("should not reach"); } |
