aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-05-22 13:24:12 +0100
committerChristopher Baines <mail@cbaines.net>2022-05-22 13:24:12 +0100
commit64d8638b379827e88e80be47790cf5031cc9ca2f (patch)
tree8f6b898a2a8d958c720bcf666ec32f5966e7d1b2
parent7440229f475ef5be41aaddc84fb30ce4cbee7aa6 (diff)
downloadbuild-coordinator-64d8638b379827e88e80be47790cf5031cc9ca2f.tar
build-coordinator-64d8638b379827e88e80be47790cf5031cc9ca2f.tar.gz
Use the substitutes channel for reading derivations
I think the use of gnutls for the network requests, or the network requests themselves may be causing fibers to block.
-rw-r--r--guix-build-coordinator/client-communication.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/guix-build-coordinator/client-communication.scm b/guix-build-coordinator/client-communication.scm
index 9d0b7d1..e96b374 100644
--- a/guix-build-coordinator/client-communication.scm
+++ b/guix-build-coordinator/client-communication.scm
@@ -407,9 +407,12 @@
,(if (null? (or substitute-urls '()))
read-drv/substitute
(lambda (derivation-file)
- (read-derivation-through-substitutes
- derivation-file
- substitute-urls)))
+ (call-with-worker-thread
+ substitutes-channel
+ (lambda ()
+ (read-derivation-through-substitutes
+ derivation-file
+ substitute-urls)))))
,@(let ((priority (assoc-ref body "priority")))
(if priority
`(#:priority ,priority)