aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/substitutes.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-data-service/substitutes.scm')
-rw-r--r--guix-data-service/substitutes.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/guix-data-service/substitutes.scm b/guix-data-service/substitutes.scm
index c7a45dc..3603521 100644
--- a/guix-data-service/substitutes.scm
+++ b/guix-data-service/substitutes.scm
@@ -19,6 +19,7 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19)
#:use-module (ice-9 match)
+ #:use-module (ice-9 atomic)
#:use-module (ice-9 threads)
#:use-module (fibers)
#:use-module (fibers channels)
@@ -149,7 +150,7 @@
(lambda (channel)
(put-message channel (cons build-server-id build-ids)))))))
-(define (start-substitute-query-threads)
+(define (start-substitute-query-threads startup-completed?)
(define channel
(make-channel))
@@ -162,6 +163,9 @@
(set-thread-name "request substitute query"))
(const #t))
+ (while (not (atomic-box-ref startup-completed?))
+ (sleep 1))
+
(while #t
(with-exception-handler
(lambda (exn)
@@ -208,6 +212,9 @@
(set-thread-name "bulk substitute query"))
(const #t))
+ (while (not (atomic-box-ref startup-completed?))
+ (sleep 1))
+
(while #t
(with-exception-handler
(lambda (exn)