From f24debd8fbeff4a9d962b8333773bc8ed93049b5 Mon Sep 17 00:00:00 2001 From: notsomeidiot123 Date: Sat, 4 Jul 2026 01:15:46 -0400 Subject: [PATCH] Prevent preemption during spawn_new_process --- src/kernel/system/scheduler.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/kernel/system/scheduler.c b/src/kernel/system/scheduler.c index 760abc7..c6a22ce 100644 --- a/src/kernel/system/scheduler.c +++ b/src/kernel/system/scheduler.c @@ -72,6 +72,7 @@ cpu_registers_t *schedule(cpu_registers_t *regs){ } uint32_t spawn_new_process(cpu_registers_t defaultregs, char **argv, uint32_t argc, void *cr3){ + asm("cli"); uint32_t i = current_pid; while(processes[i].flags.present){ i++; @@ -96,6 +97,7 @@ uint32_t spawn_new_process(cpu_registers_t defaultregs, char **argv, uint32_t ar new_proc.max_descriptors = DEFAULT_FD_MAX; processes[i] = new_proc; add_process_queue(i); + asm("sti"); return i; }