diff options
Diffstat (limited to 'guix-build-coordinator/coordinator.scm')
-rw-r--r-- | guix-build-coordinator/coordinator.scm | 40 |
1 files changed, 14 insertions, 26 deletions
diff --git a/guix-build-coordinator/coordinator.scm b/guix-build-coordinator/coordinator.scm index 8af826f..34878db 100644 --- a/guix-build-coordinator/coordinator.scm +++ b/guix-build-coordinator/coordinator.scm @@ -642,19 +642,13 @@ (derivation (if derivation-exists-in-database? #f ; unnecessary to fetch derivation - ;; Bit of a hack, but offload reading the derivation to a - ;; thread so that it doesn't block the fibers thread, since - ;; local I/O doesn't cooperate with fibers - (datastore-call-with-transaction - datastore - (lambda _ - (with-fibers-port-timeouts - (lambda () - (call-with-delay-logging read-drv - #:threshold 10 - #:args (list derivation-file))) - #:timeout 240)) - #:readonly? #t))) + ;; TODO Read the derivation in a separate thread + (with-fibers-port-timeouts + (lambda () + (call-with-delay-logging read-drv + #:threshold 10 + #:args (list derivation-file))) + #:timeout 240))) (system (or system-from-database @@ -786,19 +780,13 @@ (unless (datastore-find-derivation datastore derivation-file) (datastore-store-derivation datastore - ;; Bit of a hack, but offload reading the derivation to a thread so - ;; that it doesn't block the fibers thread, since local I/O doesn't - ;; cooperate with fibers - (datastore-call-with-transaction - datastore - (lambda _ - (with-fibers-port-timeouts - (lambda () - (call-with-delay-logging read-drv - #:threshold 10 - #:args (list derivation-file))) - #:timeout 30)) - #:readonly? #t))) + ;; TODO Read the derivation in a separate thread + (with-fibers-port-timeouts + (lambda () + (call-with-delay-logging read-drv + #:threshold 10 + #:args (list derivation-file))) + #:timeout 30))) (let ((related-derivations-lacking-builds (if ensure-all-related-derivation-outputs-have-builds? |