slight optimization

This commit is contained in:
2023-10-22 19:12:55 +02:00
parent c1f2c1504a
commit cd22874f23

View File

@@ -313,7 +313,14 @@ extern "C" void switch_task(struct task_frame *cur_frame) {
if (UnblockedTasks_lock.try_lock()) {
while (peek_front(&UnblockedTasks)) {
append_task_node(&NextTasks, pop_front_node(&UnblockedTasks));
if (NextTasks.last) {
NextTasks.last->next = UnblockedTasks.cur;
NextTasks.last = UnblockedTasks.last;
UnblockedTasks.last = nullptr;
UnblockedTasks.cur = nullptr;
} else {
append_task_node(&NextTasks, pop_front_node(&UnblockedTasks));
}
}
UnblockedTasks_lock.unlock();
}