summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-04-14 00:17:43 +0200
committerLudovic Courtès <ludo@gnu.org>2014-04-14 00:17:43 +0200
commit66ef5411471e8d5f25815b9ab1f360ad56e08544 (patch)
treed4cce724b298ce4d24cdc339b3ed45b6366e5824
parent99e17dc9274c82911c284eaeccdba08b7425f018 (diff)
downloadguix-66ef5411471e8d5f25815b9ab1f360ad56e08544.tar.gz
offload: Better synchronize with remote invocation of 'guix archive --missing'.
* guix/scripts/offload.scm (send-files)[missing-files]: Call 'waitpid'
  after reading all of MISSING.
-rw-r--r--guix/scripts/offload.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm
index c5cae4b07a..e340b7e8cc 100644
--- a/guix/scripts/offload.scm
+++ b/guix/scripts/offload.scm
@@ -443,9 +443,11 @@ success, #f otherwise."
                           "-i" (build-machine-private-key machine)
                           (build-machine-name machine)
                           "guix" "archive" "--missing")
-                    (open-input-string files))))
+                    (open-input-string files)))
+                  ((result)
+                   (get-string-all missing)))
       (for-each waitpid pids)
-      (string-tokenize (get-string-all missing))))
+      (string-tokenize result)))
 
   (with-store store
     (guard (c ((nix-protocol-error? c)