summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-13 22:27:00 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-13 22:27:00 +0100
commit34fcbe3a103747fa8a97d55ee12be80c1d0dc1d3 (patch)
tree207e419743e7a8a4859dcb13941469b2d7793cc0
parent85a8a5f5562f22f5364371833a24a3366c2ccb20 (diff)
downloadguix-34fcbe3a103747fa8a97d55ee12be80c1d0dc1d3.tar.gz
store: In `open-connection', process all the server's stderr.
* guix/store.scm (open-connection): Loop until `process-stderr' returns #t.
-rw-r--r--guix/store.scm5
1 files changed, 3 insertions, 2 deletions
diff --git a/guix/store.scm b/guix/store.scm
index 2ddb17684c..5111d8f50a 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -330,7 +330,8 @@
                     (let ((s (%make-nix-server s
                                                (protocol-major v)
                                                (protocol-minor v))))
-                      (process-stderr s)
+                      (let loop ((done? (process-stderr s)))
+                        (or done? (process-stderr s)))
                       s))))))))
 
 (define (close-connection server)