16 lines
607 B
Racket
16 lines
607 B
Racket
#lang racket/base
|
|
|
|
;; this is necessary because our C embedding runtime doesn't flush the plumber by default
|
|
;; idk how to do it in C, therefore we do it in racket, just before exiting
|
|
;; we need to flush otherwise logs might get dropped, particularly those relating to the error
|
|
(define old-esc-handler (error-escape-handler))
|
|
(error-escape-handler (lambda ()
|
|
(plumber-flush-all (current-plumber))
|
|
(old-esc-handler)))
|
|
;; execute agent-main
|
|
(require "../crossfire/agent.rkt")
|
|
(agent-main)
|
|
|
|
;; and if no error, also flush
|
|
(plumber-flush-all (current-plumber))
|