aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-01-10 23:06:08 +0100
committerLudovic Courtès <ludo@gnu.org>2018-01-11 00:00:03 +0100
commit55f40fdbcdd98d1d1c0110d508079c068bf7f81d (patch)
treef9e3ed69bc48a6c25ea436f2e1da11ae0673d707
parent158eadefc8c6a9f7e7a447a01c58bbcf14074451 (diff)
downloadguix-55f40fdbcdd98d1d1c0110d508079c068bf7f81d.tar.gz
guix-55f40fdbcdd98d1d1c0110d508079c068bf7f81d.zip
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.
-rw-r--r--guix/ssh.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/guix/ssh.scm b/guix/ssh.scm
index 96e4af9179..cb560c0e9c 100644
--- a/guix/ssh.scm
+++ b/guix/ssh.scm
@@ -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