summaryrefslogtreecommitdiff
path: root/guix/ssh.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-04-17 22:28:01 +0200
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-04-19 20:12:20 -0400
commit6d6add5f8f00f9d5dbb473485952d3fbb3275697 (patch)
tree555aaab1dc45b170b22c254f9c182f63f7a8c14f /guix/ssh.scm
parente95e65541ae7ce98c2f9095317fea4754ca5ac91 (diff)
ssh: Silence remote daemon messages when sending store items.
Fixes <https://issues.guix.gnu.org/61839>. Previously, when running 'guix-daemon --debug' on the remote machine, lots of debugging outputs would be printed to stderr; since the client wouldn't read it, we could eventually reach a deadlock where the 'guix repl' process would be stuck writing to stderr while the client is stuck waiting on its stdout. * guix/ssh.scm (store-import-channel)[import]: Parameterize 'current-build-output-port'.
Diffstat (limited to 'guix/ssh.scm')
-rw-r--r--guix/ssh.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/guix/ssh.scm b/guix/ssh.scm
index 5b35f664d9..b7b9807ebf 100644
--- a/guix/ssh.scm
+++ b/guix/ssh.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016-2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -367,7 +367,15 @@ can be written."
(force-output)
(setvbuf (current-input-port) 'none)
+
+ ;; If 'guix-daemon' is running with '--debug', a lot of
+ ;; debugging info goes to 'current-build-output-port' (stderr
+ ;; by default). However, since nobody's reading it, this
+ ;; could lead to a deadlock. Thus, disable debugging output.
+ (set-build-options store #:verbosity 0)
+
(import-paths store (current-input-port))
+
'(success))))
(lambda args
(cons 'error args))))