[fix] preemptive scheduler not interleaving tasks

This commit is contained in:
2026-05-31 19:15:31 +08:00
Unverified
parent daccb0a763
commit 2464bcc765
2 changed files with 9 additions and 4 deletions
+1
View File
@@ -18,6 +18,7 @@ static task_t* g_task_list = NULL; // circular linked list head
static void (*g_task_entries[TASK_MAX])(void);
extern "C" void task_entry_trampoline() {
ASM("sti");
task_t* cur = scheduler_current();
if (cur && g_task_entries[cur->id]) {
g_task_entries[cur->id]();