~ruther/guix-local

55f40fdbcdd98d1d1c0110d508079c068bf7f81d — Ludovic Courtès 8 years ago 158eade
ssh: Pass an empty "exceptfds" set to 'select'.

Previously the redirect code could end up exiting prematurely because of
an uninteresting "exceptional condition" on the socket (info "(libc)
Waiting for I/O").

* guix/ssh.scm (remote-daemon-channel): Pass the empty list as the third
argument to 'select'.  It was a mistake to pass a non-empty list there
in the first place.
1 files changed, 2 insertions(+), 2 deletions(-)

M guix/ssh.scm
M guix/ssh.scm => guix/ssh.scm +2 -2
@@ 124,8 124,8 @@ Throw an error on failure."
         (connect sock AF_UNIX ,socket-name)

         (let loop ()
           (match (select (list stdin sock) '() (list stdin stdout sock))
             ((reads writes ())
           (match (select (list stdin sock) '() '())
             ((reads () ())
              (when (memq stdin reads)
                (match (read! stdin buffer)
                  ((? zero?)                      ;EOF