diff --git a/kernel/src/thread/Thread.cpp b/kernel/src/thread/Thread.cpp index 776d189d..1ad744a2 100644 --- a/kernel/src/thread/Thread.cpp +++ b/kernel/src/thread/Thread.cpp @@ -117,6 +117,12 @@ void Thread::process_pending_signals(Registers* current_regs) if (handler.sa_handler == SIG_DFL) { default_signal: + if (id == 1) + { + kwarnln("signal: init got a signal it has no handler for, ignoring"); + return; + } + kinfoln("signal: using default behavior (handler=SIG_DFL) (terminating)"); // FIXME: Add different default handlers for different signals and add signal exit codes. exit_and_signal_parent(255);