summaryrefslogtreecommitdiff
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)
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)