`(let ((,caught (catch '%end-of-the-world
(/show0 "inside CATCH '%END-OF-THE-WORLD")
,@body)))
- (/show0 "back from CATCH '%END-OF-THE-WORLD, flushing output")
- (flush-standard-output-streams)
- (/show0 "calling UNIX-EXIT")
- (sb!unix:unix-exit ,caught))))
+ (/show0 "back from CATCH '%END-OF-THE-WORLD, flushing output")
+ (flush-standard-output-streams)
+ (sb!thread::terminate-session)
+ (/show0 "calling UNIX-EXIT")
+ (sb!unix:unix-exit ,caught))))
\f
;;;; working with *CURRENT-ERROR-DEPTH* and *MAXIMUM-ERROR-DEPTH*
(defun toplevel-init ()
(/show0 "entering TOPLEVEL-INIT")
- (setf sb!thread::*session-lock* (sb!thread:make-mutex :name "the terminal"))
+ (sb!thread::init-job-control)
(sb!thread::get-foreground)
(let (;; value of --sysinit option
(sysinit nil)