On Fri, Apr 01, 2005 at 03:54:38PM -0500, Benjamin Watkins wrote:
> multiplexing overflow 1:296 [sender]

This indicates that there is an error message arriving (1) that has a
length of 296 bytes, but this is too long for the "line" buffer in
readfd_unbuffered().  I changed the length of this buffer from 1024
bytes to MAXPATHLEN+1 because it was too short for receiving info/error
messages for really long file names (since a normal system has a
MAXPATHLEN that is closer to 4 KB).  (Hmm, is MAXPATHLEN really supposed
to be that short under Cygwin?  Surprising...)

Anyway, the simple solution is to just make the line buffer larger.
I'll attach a patch.

> In addition, the client actually exits with a status code of 3072, not
> 12 as indicated by the standard error message.

That sounds like a problem with your shell or the Cygwin environment
because rsync exits with the right error code under Linux.

..wayne..
--- io.c        4 Apr 2005 00:48:39 -0000       1.167
+++ io.c        4 Apr 2005 01:07:10 -0000
@@ -706,7 +706,11 @@ static int readfd_unbuffered(int fd, cha
        static size_t remaining;
        static size_t iobuf_in_ndx;
        int tag, ret = 0;
-       char line[MAXPATHLEN+1];
+#if MAXPATHLEN < 4096
+       char line[4096+1024];
+#else
+       char line[MAXPATHLEN+1024];
+#endif
 
        if (!iobuf_in || fd != sock_f_in)
                return read_timeout(fd, buf, len);
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to