aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-02-03 11:08:04 +0100
committerChristopher Baines <mail@cbaines.net>2024-02-03 11:08:04 +0100
commit26f517d9c20d357c5df6c87690ec92c970755b9b (patch)
treea51ff372e082a188a82d008aac99d1d11ed0539d /guix-data-service
parentac1a4cb1e28896631b8774a7b607f4f0bd6dc3c2 (diff)
downloaddata-service-26f517d9c20d357c5df6c87690ec92c970755b9b.tar
data-service-26f517d9c20d357c5df6c87690ec92c970755b9b.tar.gz
Improve exception handling for channel instance derivations
Diffstat (limited to 'guix-data-service')
-rw-r--r--guix-data-service/jobs/load-new-guix-revision.scm23
1 files changed, 13 insertions, 10 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm
index 2737636..0dc43a7 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -1190,10 +1190,12 @@
(with-exception-handler
(lambda (exn)
(if (inferior-protocol-error? exn)
- (simple-format (current-error-port)
- "ignoring ~A for ~A\n"
- exn
- system)
+ (begin
+ (simple-format (current-error-port)
+ "ignoring ~A for ~A\n"
+ exn
+ system)
+ #f)
(raise-exception exn)))
(lambda ()
(with-throw-handler #t
@@ -1214,12 +1216,13 @@
(for-each
(match-lambda
((_ . manifest-and-profile)
- (and=> (assq-ref manifest-and-profile 'manifest-entry-item)
- (lambda (drv)
- (add-temp-root store drv)))
- (and=> (assq-ref manifest-and-profile 'profile)
- (lambda (drv)
- (add-temp-root store drv)))))
+ (when manifest-and-profile
+ (and=> (assq-ref manifest-and-profile 'manifest-entry-item)
+ (lambda (drv)
+ (add-temp-root store drv)))
+ (and=> (assq-ref manifest-and-profile 'profile)
+ (lambda (drv)
+ (add-temp-root store drv))))))
result)
;; Now the roots have been added to the main store connection, close the