aboutsummaryrefslogtreecommitdiff
path: root/kernel/features/proc.c
diff options
context:
space:
mode:
authorMarvin Borner2021-04-16 23:22:02 +0200
committerMarvin Borner2021-04-16 23:22:02 +0200
commit7485f7e441ca892876d9401380aa77610eb85f76 (patch)
tree065f910effe33f5c9d71cd9619dd25216282a13d /kernel/features/proc.c
parent4d4e784770b576199b18f22100689125a18bfd9a (diff)
New elegant I/O blocking solution
This is done using an internal scheduler syscall (127). Very nice!
Diffstat (limited to 'kernel/features/proc.c')
-rw-r--r--kernel/features/proc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/features/proc.c b/kernel/features/proc.c
index 6ddeb32..c972f1b 100644
--- a/kernel/features/proc.c
+++ b/kernel/features/proc.c
@@ -177,13 +177,13 @@ void proc_exit(struct proc *proc, struct regs *r, s32 status)
free(proc);
- proc_yield(r);
+ proc_yield();
}
-void proc_yield(struct regs *r)
+void proc_yield(void)
{
proc_reset_quantum(PROC(current));
- scheduler(r);
+ __asm__ volatile("int $127");
}
struct proc *proc_make(enum proc_priv priv)