diff options
Diffstat (limited to 'guix-build-coordinator/coordinator.scm')
-rw-r--r-- | guix-build-coordinator/coordinator.scm | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/guix-build-coordinator/coordinator.scm b/guix-build-coordinator/coordinator.scm index 2d7f3d9..59891d1 100644 --- a/guix-build-coordinator/coordinator.scm +++ b/guix-build-coordinator/coordinator.scm @@ -504,7 +504,22 @@ ;; to run-fibers being called. (let ((output-hash-channel (make-output-hash-channel - build-coordinator))) + build-coordinator)) + + (utility-thread-pool-channel + (make-worker-thread-channel + (const '()) + #:name "utility" + #:parallelism 6 + #:delay-logger + (lambda (seconds-delayed) + (log-delay "utility thread channel" + seconds-delayed) + (when (> seconds-delayed 0.1) + (format + (current-error-port) + "warning: utility thread channel delayed by ~1,2f seconds~%" + seconds-delayed)))))) (let ((finished? (make-condition))) (call-with-sigint @@ -575,7 +590,8 @@ secret-key-base (uri-host client-communication-uri) (uri-port client-communication-uri) - build-coordinator) + build-coordinator + utility-thread-pool-channel) ;; Guile seems to just stop listening on ports, so try to ;; monitor that internally and just quit if it happens |