guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/07: workers: Display backtrace in pre-unwind handler.


From: Ludovic Courtès
Subject: 03/07: workers: Display backtrace in pre-unwind handler.
Date: Fri, 17 Nov 2017 05:09:42 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit d5ce7bcfa2f4d9a1d3da669ade155cc7042f84ec
Author: Ludovic Courtès <address@hidden>
Date:   Fri Nov 17 10:47:56 2017 +0100

    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.
---
 guix/workers.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/guix/workers.scm b/guix/workers.scm
index 0f6f54b..3cd683c 100644
--- a/guix/workers.scm
+++ b/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))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]