From 88d6e6253c6db815d5f58888aaa4d680029c09b2 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 10 Apr 2012 12:04:44 +0200 Subject: agent: Do not fail reads with EPIPE if there is not enough data to read. --- src/agent.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/agent.c b/src/agent.c index 47d203a..f5fcae0 100644 --- a/src/agent.c +++ b/src/agent.c @@ -114,7 +114,8 @@ static size_t atomicio(ssh_socket s, void *buf, size_t n, int do_read) { } return 0; case 0: - errno = EPIPE; + /* read returns 0 on end-of-file */ + errno = do_read ? 0 : EPIPE; return pos; default: pos += (size_t) res; -- cgit