Prevent preemption during spawn_new_process

This commit is contained in:
notsomeidiot123 2026-07-04 01:15:46 -04:00
parent dd918794f2
commit f24debd8fb
1 changed files with 2 additions and 0 deletions

View File

@ -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){ uint32_t spawn_new_process(cpu_registers_t defaultregs, char **argv, uint32_t argc, void *cr3){
asm("cli");
uint32_t i = current_pid; uint32_t i = current_pid;
while(processes[i].flags.present){ while(processes[i].flags.present){
i++; 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; new_proc.max_descriptors = DEFAULT_FD_MAX;
processes[i] = new_proc; processes[i] = new_proc;
add_process_queue(i); add_process_queue(i);
asm("sti");
return i; return i;
} }