workers: Display backtrace in pre-unwind handler. * guix/workers.scm (worker-thunk): Add (const #f) as the 'catch' handler, and move previous handler as pre-unwind handler. Protect against 'make-stack' returning #f.
1 files changed, 3 insertions(+), 1 deletions(-) M guix/workers.scm
M guix/workers.scm => guix/workers.scm +3 -1
@@ 75,12 75,14 @@ ;; Release MUTEX while executing PROC. (without-mutex mutex (catch #t proc (const #f) (lambda (key . args) ;; XXX: In Guile 2.0 ports are not thread-safe, so this could ;; crash (Guile 2.2 is fine). (display-backtrace (make-stack #t) (current-error-port)) (print-exception (current-error-port) (stack-ref (make-stack #t) 0) (and=> (make-stack #t) (cut stack-ref <> 0)) key args)))))) (loop))