diff options
Diffstat (limited to 'kernel/features/syscall.c')
-rw-r--r-- | kernel/features/syscall.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/features/syscall.c b/kernel/features/syscall.c index 59965a5..d980317 100644 --- a/kernel/features/syscall.c +++ b/kernel/features/syscall.c @@ -42,8 +42,9 @@ void syscall_handler(struct regs *r) } else { struct proc *p = proc_current(); p->state = PROC_SLEEPING; - p->waits_for = vfs_find_dev((char *)r->ebx)->id; - scheduler(r); + p->wait.id = vfs_find_dev((char *)r->ebx)->id; + p->wait.func = vfs_read; + proc_yield(r); sti(); while (1) hlt(); |