aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/client-communication.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-08-09 19:48:51 +0100
committerChristopher Baines <mail@cbaines.net>2023-08-09 20:14:30 +0100
commitc5412d66b058051b627ea0fe5c409860289ad1f1 (patch)
tree582adcd51897067082fe40c910885e9a46aa0583 /guix-build-coordinator/client-communication.scm
parent7f89f17179b3af495d0b1e88218074912c78e68d (diff)
downloadbuild-coordinator-c5412d66b058051b627ea0fe5c409860289ad1f1.tar
build-coordinator-c5412d66b058051b627ea0fe5c409860289ad1f1.tar.gz
Don't use threads for substituting derivations
Instead use non-blocking store connections like Cuirass does.
Diffstat (limited to 'guix-build-coordinator/client-communication.scm')
-rw-r--r--guix-build-coordinator/client-communication.scm25
1 files changed, 8 insertions, 17 deletions
diff --git a/guix-build-coordinator/client-communication.scm b/guix-build-coordinator/client-communication.scm
index 4c1702d..05e9695 100644
--- a/guix-build-coordinator/client-communication.scm
+++ b/guix-build-coordinator/client-communication.scm
@@ -64,8 +64,7 @@
(define (start-client-request-server secret-key-base
host
port
- build-coordinator
- substitutes-channel)
+ build-coordinator)
(run-server/patched
(lambda (request body)
(log-msg (build-coordinator-logger build-coordinator)
@@ -80,8 +79,7 @@
(uri-path (request-uri request))))
body
secret-key-base
- build-coordinator
- substitutes-channel)))
+ build-coordinator)))
#:host host
#:port port))
@@ -89,8 +87,7 @@
method-and-path-components
raw-body
secret-key-base
- build-coordinator
- substitutes-channel)
+ build-coordinator)
(define datastore
(build-coordinator-datastore build-coordinator))
@@ -443,11 +440,8 @@
(define (read-drv/substitute derivation-file)
(unless (with-store store
(valid-path? store derivation-file))
- (call-with-worker-thread
- substitutes-channel
- (lambda ()
- (substitute-derivation derivation-file
- #:substitute-urls substitute-urls))))
+ (substitute-derivation derivation-file
+ #:substitute-urls substitute-urls))
(read-derivation-from-file* derivation-file))
(let ((submit-build-result
@@ -469,12 +463,9 @@
(if (null? (or substitute-urls '()))
;; Try again
(read-drv/substitute derivation-file)
- (call-with-worker-thread
- substitutes-channel
- (lambda ()
- (read-derivation-through-substitutes
- derivation-file
- substitute-urls)))))
+ (read-derivation-through-substitutes
+ derivation-file
+ substitute-urls)))
(lambda ()
(read-drv/substitute derivation-file))
#:unwind? #t))