diff --git a/kernel/src/arch/x86_64/CPU.cpp b/kernel/src/arch/x86_64/CPU.cpp index bb815fbd..2a8ed6a1 100644 --- a/kernel/src/arch/x86_64/CPU.cpp +++ b/kernel/src/arch/x86_64/CPU.cpp @@ -71,7 +71,10 @@ void decode_page_fault_error_code(u64 code) { // FIXME: Kill this process with SIGSEGV once we have signals and all that. kerrorln("Current task %zu was terminated because of a page fault", Scheduler::current()->id); - kernel_exit(); + Scheduler::current()->state = ThreadState::Exited; + Scheduler::current()->status = 127; + kernel_yield(); + unreachable(); } CPU::print_stack_trace_at(regs);