Ignore inferior-protocol-error when computing channel instances

Since this seems to happen for i586-gnu for core-updates currently and I can't
seem to reproduce the issue locally or work out what's wrong.
This commit is contained in:
Christopher Baines 2024-02-01 10:47:54 +01:00
parent 7acb38377e
commit 215a67238a

View file

@ -1184,18 +1184,28 @@
(with-resource-from-pool inferior-and-store-pool res (with-resource-from-pool inferior-and-store-pool res
(match res (match res
((inferior . inferior-store) ((inferior . inferior-store)
(with-throw-handler #t (with-exception-handler
(lambda (exn)
(if (inferior-protocol-error? exn)
(simple-format (current-error-port)
"ignoring ~A for ~A\n"
exn
system)
(raise-exception exn)))
(lambda () (lambda ()
(cons system (with-throw-handler #t
(inferior-eval-with-store/non-blocking (lambda ()
inferior (cons system
inferior-store (inferior-eval-with-store/non-blocking
(inferior-code channel-instance system)))) inferior
(lambda _ inferior-store
(simple-format (inferior-code channel-instance system))))
(current-error-port) (lambda _
"failed to compute channel instance derivation for ~A\n" (simple-format
system))))))) (current-error-port)
"failed to compute channel instance derivation for ~A\n"
system))))
#:unwind? #t)))))
systems))) systems)))
(for-each (for-each