On Tue, Sep 28, 2004 at 04:10:13PM +0000, David Evers wrote:
>     rsync -e ssh -avn host:/path /local/path 2>&1 | tee LOG

In my test I piped the output to "(sleep 10; tail)" to ensure a
reproducable truncation.

The attached patch fixes the problem by putting our stderr fd back
into blocking I/O mode.  I don't see why ssh should be playing with
our stderr fd in the first place (since we're the one calling ssh,
not the one being run by ssh).  Does anyone see a problem with this
change?

..wayne..
--- main.c      17 Sep 2004 16:50:53 -0000      1.217
+++ main.c      28 Sep 2004 16:42:09 -0000
@@ -657,6 +657,9 @@ int client_run(int f_in, int f_out, pid_
        if (protocol_version >= 23 && !read_batch)
                io_start_multiplex_in();
 
+       /* Work around a bug in ssh that sets our STDERR to non-blocking. */
+       set_blocking(STDERR_FILENO);
+
        if (am_sender) {
                keep_dirlinks = 0; /* Must be disabled on the sender. */
                io_start_buffering_out();
-- 
To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to