(thanks to Kevin Reid)
* new feature: the alignment of alien structure fields can be
explicitly specified. (thanks to Cyrus Harmon)
+ * bug fix: run cleanup forms (in all threads) when receiving a SIGTERM
+ and dump core on SIGQUIT
* threads
** bug fix: threads stacks belonging to dead threads are freed by the
next exiting thread, no need to gc to collect thread stacks anymore
(declare (type system-area-pointer context))
(sb!impl::run-expired-timers))
-(defun sigquit-handler (signal code context)
+(defun sigterm-handler (signal code context)
(declare (ignore signal code context))
- (throw 'toplevel-catcher nil))
+ (sb!thread::terminate-session)
+ (sb!ext:quit))
(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 sigquit #'sigquit-handler)
+ (enable-interrupt sigterm #'sigterm-handler)
(enable-interrupt sigill #'sigill-handler)
(enable-interrupt sigtrap #'sigtrap-handler)
(enable-interrupt sigiot #'sigiot-handler)
;;; 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".)
-"0.9.5.53"
+"0.9.5.54"