[fix] preemptive scheduler not interleaving tasks
This commit is contained in:
@@ -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]();
|
||||
|
||||
Reference in New Issue
Block a user