aboutsummaryrefslogtreecommitdiff
path: root/kernel/features/proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/features/proc.c')
-rw-r--r--kernel/features/proc.c8
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));