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() {
eprintln!("Nobody to run => 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()));

View File

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