I would recommend trying this one-line patch to see if it helps.
I haven't personally delved into the true meaning.
I just checked my read-only CVS tree for rsync again.
Here is the context diff for that file. Note that the msleep(100)
is not in the checked in version.
Jim
Index: main.c
===================================================================
RCS file: /cvsroot/rsync/main.c,v
retrieving revision 1.156
diff -c -r1.156 main.c
*** main.c 1 Aug 2002 20:46:59 -0000 1.156
--- main.c 31 Dec 2002 01:21:34 -0000
***************
*** 346,351 ****
--- 346,353 ----
exit_cleanup(0);
}
+ io_start_buffering_in(f_in);
+ io_start_buffering_out(f_out);
send_files(flist,f_out,f_in);
io_flush();
report(f_out);
***************
*** 421,427 ****
close(error_pipe[1]);
if (f_in != f_out) close(f_in);
! io_start_buffering(f_out);
io_set_error_fd(error_pipe[0]);
--- 423,429 ----
close(error_pipe[1]);
if (f_in != f_out) close(f_in);
! io_start_buffering_out(f_out);
io_set_error_fd(error_pipe[0]);
***************
*** 434,440 ****
write_int(f_out, -1);
}
io_flush();
!
kill(pid, SIGUSR2);
wait_process(pid, &status);
return status;
--- 436,442 ----
write_int(f_out, -1);
}
io_flush();
! msleep(100);
kill(pid, SIGUSR2);
wait_process(pid, &status);
return status;
***************
*** 476,481 ****
--- 478,484 ----
} }
+ io_start_buffering_in(f_in);
if (delete_mode && !delete_excluded)
recv_exclude_list(f_in);
***************
*** 569,574 ****
--- 572,578 ----
extern int cvs_exclude;
extern int delete_mode;
extern int delete_excluded;
+ io_start_buffering_out(f_out);
if (cvs_exclude)
add_cvs_excludes();
if (delete_mode && !delete_excluded)
***************
*** 578,584 ****
--- 582,591 ----
if (verbose > 3)
rprintf(FINFO,"file list sent\n");
+ io_flush();
+ io_start_buffering_out(f_out);
send_files(flist,f_out,f_in);
+ io_flush();
if (remote_version >= 24) {
/* final goodbye message */ read_int(f_in);
***************
*** 590,595 ****
--- 597,603 ----
wait_process(pid, &status);
}
report(-1);
+ io_flush();
exit_cleanup(status);
}
Mike Rubel wrote:
[ ... ]Could you clarify for me whether the patch Steve refers to is the same as (or has the same effect as) the one you describe below? Or are they two different animals? If they are different, should we test whether this patch fixes his specific problem? Best regards, Mike http://www.mikerubel.org
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/