;; !UNIX-COLD-INIT. And *TYPE-SYSTEM-INITIALIZED* could be changed to
;; *TYPE-SYSTEM-INITIALIZED-WHEN-BOUND* so that it doesn't need to
;; be explicitly set in order to be meaningful.
- (setf *before-gc-hooks* nil
- *after-gc-hooks* nil
+ (setf *after-gc-hooks* nil
*gc-inhibit* 1
*need-to-collect-garbage* nil
sb!unix::*interrupts-enabled* t
(show-and-call os-cold-init-or-reinit)
+ (show-and-call thread-init-or-reinit)
(show-and-call stream-cold-init-or-reset)
(show-and-call !loader-cold-init)
(show-and-call !foreign-cold-init)
(terpri)
(/show0 "going into toplevel loop")
(handling-end-of-the-world
- (thread-init-or-reinit)
(toplevel-init)
(critically-unreachable "after TOPLEVEL-INIT")))
;;;; initialization functions
(defun thread-init-or-reinit ()
+ (sb!thread::init-initial-thread)
(sb!thread::init-job-control)
(sb!thread::get-foreground))
(without-interrupts
(without-gcing
(os-cold-init-or-reinit)
+ (thread-init-or-reinit)
(stream-reinit)
(signal-cold-init-or-reinit)
(setf (sb!alien:extern-alien "internal_errors_enabled" boolean) t)
;; call site.
(set-floating-point-modes
:traps '(:overflow #!-netbsd :invalid :divide-by-zero))))
- (thread-init-or-reinit)
(gc-reinit)
;; make sure TIME works correctly from saved cores
(setf *internal-real-time-base-seconds* nil)