aboutsummaryrefslogtreecommitdiff
path: root/scripts/guix-build-coordinator.in
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/guix-build-coordinator.in')
-rw-r--r--scripts/guix-build-coordinator.in29
1 files changed, 20 insertions, 9 deletions
diff --git a/scripts/guix-build-coordinator.in b/scripts/guix-build-coordinator.in
index 1fbcad3..c9e7ee9 100644
--- a/scripts/guix-build-coordinator.in
+++ b/scripts/guix-build-coordinator.in
@@ -327,14 +327,24 @@
arg)
(exit 1)))
result))))
- (map (lambda (hook)
- (option (list (simple-format #f "~A-hook" hook)) #t #f
- (lambda (opt name arg result)
- (alist-cons (symbol-append hook '-hook)
- (read/eval arg)
- (alist-delete (symbol-append hook '-hook)
- result)))))
- %known-hooks)))
+ (append-map
+ (lambda (hook)
+ (list
+ (option (list (simple-format #f "~A-hook" hook)) #t #f
+ (lambda (opt name arg result)
+ (alist-cons (symbol-append hook '-hook)
+ (read/eval arg)
+ (alist-delete (symbol-append hook '-hook)
+ result))))
+ (option (list (simple-format #f "~A-hook-threads" hook)) #t #f
+ (lambda (opt name arg result)
+ (alist-cons 'parallel-hooks
+ `((,hook . ,(string->number arg))
+ ,@(or (assq-ref result 'parallel-hooks)
+ '()))
+ (alist-delete 'parallel-hooks
+ result))))))
+ %known-hooks)))
(define %service-option-defaults
;; Alist of default option values
@@ -851,4 +861,5 @@ tags:
#:update-datastore? (assoc-ref opts 'update-database)
#:pid-file (assq-ref opts 'pid-file)
#:agent-communication-uri (assq-ref opts 'agent-communication)
- #:client-communication-uri (assq-ref opts 'client-communication)))))))
+ #:client-communication-uri (assq-ref opts 'client-communication)
+ #:parallel-hooks (assq-ref opts 'parallel-hooks)))))))