10.7 Exiting
Passes v to the current exit handler. If the exit
handler does not escape or terminate the thread, #<void> is
returned.
parameter
(exit-handler) → (any/c . -> . any)
(exit-handler proc) → void? proc : (any/c . -> . any)
The default exit handler in the Racket executable takes any argument, calls plumber-flush-all on the original plumber, and shuts down the OS-level Racket process. The argument is used as the OS-level exit code if it is an exact integer between 1 and 255 (which normally means “failure”); otherwise, the exit code is 0, (which normally means “success”).
parameter
(executable-yield-handler) → (byte? . -> . any)
(executable-yield-handler proc) → void? proc : (byte? . -> . any)
A parameter that determines a procedure to be called as the Racket
process is about to exit normally. The procedure associated with this
parameter is not called when exit (or, more precisely, the
default exit handler) is used to exit early. The argument to
the handler is the status code that is returned to the system on exit.
The default executable-yield handler simply returns #<void>.
The scheme/gui/base library sets this parameter to wait until all frames are closed, timers stopped, and queued events handled in the main eventspace. See scheme/gui/base for more information.