diff options
Diffstat (limited to 'kernel/features/proc.c')
-rw-r--r-- | kernel/features/proc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/features/proc.c b/kernel/features/proc.c index 36ee6b9..3039231 100644 --- a/kernel/features/proc.c +++ b/kernel/features/proc.c @@ -185,7 +185,7 @@ void proc_exit(struct proc *proc, struct regs *r, s32 status) free(proc); - proc_yield(); + proc_yield_regs(r); } void proc_yield(void) @@ -195,6 +195,12 @@ void proc_yield(void) __asm__ volatile("int $127"); } +void proc_yield_regs(struct regs *r) +{ + proc_reset_quantum(PROC(current)); + scheduler(r); +} + struct proc *proc_make(enum proc_priv priv) { struct proc *proc = zalloc(sizeof(*proc)); |