sa.sa_flags = SA_NODEFER;
assert_se(sigaction(SIGSEGV, &sa, NULL) == 0);
+ assert_se(sigaction(SIGILL, &sa, NULL) == 0);
+ assert_se(sigaction(SIGFPE, &sa, NULL) == 0);
+ assert_se(sigaction(SIGBUS, &sa, NULL) == 0);
+ assert_se(sigaction(SIGQUIT, &sa, NULL) == 0);
assert_se(sigaction(SIGABRT, &sa, NULL) == 0);
}
/* Reset all signal handlers. */
assert_se(reset_all_signal_handlers() == 0);
+ /* If we are init, we can block sigkill. Yay. */
+ signal(SIGKILL, SIG_IGN);
+ signal(SIGPIPE, SIG_IGN);
+
/* Close all open files */
assert_se(close_all_fds(NULL, 0) == 0);
log_open_syslog();
log_open_kmsg();
- /* Make sure we leave a core dump */
+ /* Make sure we leave a core dump without panicing the
+ * kernel. */
if (getpid() == 1)
install_crash_handler();