From d1b31da71e426ba7f636430d1764ae76858363d9 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Thu, 29 Jul 2004 07:09:46 +0000 Subject: [PATCH] If we fail writing to the socket and we're receiving error messages from the other side via a multiplexed input, read the socket to see if we get some errors that would explain why they went away. --- io.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/io.c b/io.c index bd1ce1ec..f3ea2a69 100644 --- a/io.c +++ b/io.c @@ -899,6 +899,13 @@ static void writefd_unbuffered(int fd,char *buf,size_t len) rsyserr(FERROR, errno, "writefd_unbuffered failed to write %ld bytes: phase \"%s\"", (long)len, io_write_phase); + /* If the other side is sending us error messages, try + * to grab any messages they sent before they died. */ + while (fd == sock_f_out && am_sender) { + io_timeout = 30; + readfd_unbuffered(sock_f_in, io_filesfrom_buf, + sizeof io_filesfrom_buf); + } exit_cleanup(RERR_STREAMIO); } -- 2.34.1