X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fsave.lisp;h=c2dd588b1f7ed2eed1525af8c0ef6e08967896b0;hb=1b6d885eaf7872b41947e0ea0da134cceee4cc0f;hp=c6ec320895f0b23d568dd2239e6b09fc5825e92b;hpb=7976926f8112b708d5927a69923cf7a3dd003c55;p=sbcl.git diff --git a/src/code/save.lisp b/src/code/save.lisp index c6ec320..c2dd588 100644 --- a/src/code/save.lisp +++ b/src/code/save.lisp @@ -55,7 +55,10 @@ The following &KEY arguments are defined: The function to run when the created core file is resumed. The default function handles command line toplevel option processing and runs the top level read-eval-print loop. This function returning - is equivalent to (SB-EXT:QUIT :UNIX-STATUS 0) being called. + is equivalent to (SB-EXT:EXIT :CODE 0) being called. + + TOPLEVEL functions should always provide an ABORT restart: otherwise + code they call will run without one. :EXECUTABLE If true, arrange to combine the SBCL runtime and the core image @@ -191,6 +194,8 @@ sufficiently motivated to do lengthy fixes." (defun deinit () (call-hooks "save" *save-hooks*) + #!+sb-wtimer + (itimer-emulation-deinit) (when (rest (sb!thread:list-all-threads)) (error "Cannot save core with multiple threads running.")) (float-deinit)