Fixed nobody to run

This commit is contained in:
François Autin 2023-05-09 18:08:44 +02:00 committed by Quentin Legot
parent 98fe63f487
commit e3654de298
2 changed files with 13 additions and 11 deletions

View File

@ -241,7 +241,11 @@ impl ThreadManager {
while next_thread.is_none() { while next_thread.is_none() {
eprintln!("Nobody to run => idle"); eprintln!("Nobody to run => idle");
machine.interrupt.idle(); machine.interrupt.idle();
next_thread = self.find_next_to_run(); if let Some(t) = self.find_next_to_run() {
next_thread = Some(t);
} else {
panic!("Couldn't find next thread to run.\nShutting down...");
}
} }
self.switch_to(machine, Rc::clone(&next_thread.unwrap())); self.switch_to(machine, Rc::clone(&next_thread.unwrap()));

View File

@ -1,15 +1,13 @@
int main() { int main() {
int x = 0; int x = 0;
int y = 1; int y = 1;
while (x <= y) { if (x > y) {
if (x > y) { x += 1;
x += 1; }
} else if (x == y) { if (x == y) {
x += y; x += y;
} else if (x < y) { }
y += 1; if (x < y) {
} else { y += 1;
return 0;
}
} }
} }