diff options
Diffstat (limited to 'kernel/cpu/syscall.c')
-rw-r--r-- | kernel/cpu/syscall.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/cpu/syscall.c b/kernel/cpu/syscall.c index 5e51d53..072351d 100644 --- a/kernel/cpu/syscall.c +++ b/kernel/cpu/syscall.c @@ -11,6 +11,7 @@ #include <string.h> #include <syscalls.h> #include <typedefs.h> +#include <interrupts.h> #pragma GCC diagnostic ignored "-Wpedantic" @@ -69,7 +70,7 @@ void syscall_exit(int status) { } void syscall_wait(int *status) { - asm("cli"); + disable_interrupts(); if (!get_current_task()->child) { if (status) *status = -1; @@ -105,7 +106,7 @@ int syscall_brk(void *addr) { } void *syscall_sbrk(uintptr_t increment) { - asm("cli"); + disable_interrupts(); void *rc = get_current_task()->data_segment_end; void *n = (void *)((uintptr_t)(get_current_task()->data_segment_end) + increment); |