diff options
Diffstat (limited to 'guix-data-service')
-rw-r--r-- | guix-data-service/utils.scm | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/guix-data-service/utils.scm b/guix-data-service/utils.scm index e1c6d84..09f47f8 100644 --- a/guix-data-service/utils.scm +++ b/guix-data-service/utils.scm @@ -387,7 +387,11 @@ available. Return the resource once PROC has returned." (lambda () (call-with-values (lambda () - (proc resource)) + (with-throw-handler #t + (lambda () + (proc resource)) + (lambda _ + (backtrace)))) (lambda vals (put-message pool `(return ,resource)) (apply values vals)))) @@ -433,7 +437,12 @@ available. Return the resource once PROC has returned." (lambda (exn) (put-message reply (cons 'exception exn))) (lambda () - (call-with-values thunk + (call-with-values + (lambda () + (with-throw-handler #t + thunk + (lambda _ + (backtrace)))) (lambda vals (put-message reply vals)))) #:unwind? #t)) |