summaryrefslogtreecommitdiff
path: root/kernel/ipc.c
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-02-22 17:28:08 +0100
committerAnton Kling <anton@kling.gg>2024-02-22 17:28:55 +0100
commita18da25e7355979d0f26cfd39dc0032172e8b135 (patch)
tree2af66bedd0dff4bbccffc8d82cd06836d7f68e0d /kernel/ipc.c
parent9b475d3db3275d4c34f02161ae70ced5595a0fdb (diff)
Kernel: Fix undefined behavior and cleanup functions.
The int_syscall caused crashes for higher level of optimizations. To fix this I rewrote the function in assembly as I deemed it to be simpler.
Diffstat (limited to 'kernel/ipc.c')
-rw-r--r--kernel/ipc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/ipc.c b/kernel/ipc.c
index 56ca79a..bce346a 100644
--- a/kernel/ipc.c
+++ b/kernel/ipc.c
@@ -58,7 +58,7 @@ int ipc_read(u8 *buffer, u32 length, u32 *sender_pid) {
return 0;
}
get_current_task()->is_halted = 1;
- enable_interrupts();
+ switch_task();
continue;
}
break;