mirror of
https://github.com/usatiuk/ficus.git
synced 2025-10-29 00:27:52 +01:00
@@ -313,14 +313,7 @@ extern "C" void switch_task(struct task_frame *cur_frame) {
|
||||
|
||||
if (UnblockedTasks_lock.try_lock()) {
|
||||
while (peek_front(&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));
|
||||
}
|
||||
append_task_node(&NextTasks, pop_front_node(&UnblockedTasks));
|
||||
}
|
||||
UnblockedTasks_lock.unlock();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user