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'.master
parent
e95e65541a
commit
6d6add5f8f
10
guix/ssh.scm
10
guix/ssh.scm
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; 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.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -367,7 +367,15 @@ can be written."
|
||||||
(force-output)
|
(force-output)
|
||||||
|
|
||||||
(setvbuf (current-input-port) 'none)
|
(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))
|
(import-paths store (current-input-port))
|
||||||
|
|
||||||
'(success))))
|
'(success))))
|
||||||
(lambda args
|
(lambda args
|
||||||
(cons 'error args))))
|
(cons 'error args))))
|
||||||
|
|
Reference in New Issue