Browse Source

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.
gn-latest-20200428
Ludovic Courtès 4 years ago
parent
commit
d5ce7bcfa2
No known key found for this signature in database GPG Key ID: 90B11993D9AEBB5
  1. 4
      guix/workers.scm

4
guix/workers.scm

@ -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))

Loading…
Cancel
Save