(sb!thread::terminate-session)
(sb!ext:quit))
-;; Also known as SIGABRT.
-(defun sigiot-handler (signal code context)
- (declare (ignore signal code context))
- (sb!impl::%halt))
-
(defun sb!kernel:signal-cold-init-or-reinit ()
#!+sb-doc
"Enable all the default signals that Lisp knows how to deal with."
(enable-interrupt sigint #'sigint-handler)
(enable-interrupt sigterm #'sigterm-handler)
(enable-interrupt sigill #'sigill-handler)
- (enable-interrupt sigiot #'sigiot-handler)
#!-linux
(enable-interrupt sigemt #'sigemt-handler)
(enable-interrupt sigfpe #'sb!vm:sigfpe-handler)
{
sigaddset(s, SIGHUP);
sigaddset(s, SIGINT);
+ sigaddset(s, SIGTERM);
sigaddset(s, SIGQUIT);
sigaddset(s, SIGPIPE);
sigaddset(s, SIGALRM);
#endif
}
+/* This must not go through lisp as it's allowed anytime, even when on
+ * the altstack. */
+void
+sigabrt_handler(int signal, siginfo_t *info, void *void_context)
+{
+ lose("SIGABRT received.\n");
+}
+
void
interrupt_init(void)
{
* 3-argument form is expected.) */
(void (*)(int, siginfo_t*, void*))SIG_DFL;
}
-
+ undoably_install_low_level_interrupt_handler(SIGABRT, sigabrt_handler);
SHOW("returning from interrupt_init()");
#endif
}
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.25.21"
+"1.0.25.22"