guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/08: ssh: Silence remote daemon messages when sending store items.


From: guix-commits
Subject: 04/08: ssh: Silence remote daemon messages when sending store items.
Date: Mon, 17 Apr 2023 17:52:22 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 166a3e3fdeaa5279b2dd5000088f913c05af9558
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Mon Apr 17 22:28:01 2023 +0200

    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'.
---
 guix/ssh.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]