The branch, master has been updated via de407c0 Fix a potential hang on an empty file list. Fixes bug 8423. via c1005fb Document --msgs2stderr. from 70c4bfb Error out if --password-file specifed and it fails. Fixes bug 8440.
;a=shortlog;h=master - Log ----------------------------------------------------------------- commit de407c03d2f424829fc1af3db3260286788bd619 Author: Wayne Davison <way...@samba.org> Date: Sun Sep 11 11:07:02 2011 -0700 Fix a potential hang on an empty file list. Fixes bug 8423. commit c1005fb256ecd764caf23f54080ffbcf550b78f2 Author: Wayne Davison <way...@samba.org> Date: Sun Sep 11 11:01:04 2011 -0700 Document --msgs2stderr. ----------------------------------------------------------------------- Summary of changes: io.c | 3 +++ main.c | 6 +++++- options.c | 1 + rsync.yo | 11 +++++++++++ 4 files changed, 20 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/io.c b/io.c index 7cb3be1..b4e0a68 100644 --- a/io.c +++ b/io.c @@ -912,6 +912,9 @@ void noop_io_until_death(void) { char buf[1024]; + if (!iobuf.in.buf || !iobuf.out.buf || iobuf.in_fd == -1 || iobuf.out_fd == -1) + return; + kluge_around_eof = 2; /* Setting an I/O timeout ensures that if something inexplicably weird * happens, we won't hang around forever. */ diff --git a/main.c b/main.c index 5a06f17..c5e106c 100644 --- a/main.c +++ b/main.c @@ -809,8 +809,12 @@ static void do_server_sender(int f_in, int f_out, int argc, char *argv[]) } flist = send_file_list(f_out,argc,argv); - if (!flist || flist->used == 0) + if (!flist || flist->used == 0) { + /* Make sure input buffering is off so we can't hang in noop_io_until_death(). */ + io_end_buffering_in(0); + /* TODO: we should really exit in a more controlled manner. */ exit_cleanup(0); + } io_start_buffering_in(f_in); diff --git a/options.c b/options.c index 6ba6669..70905b8 100644 --- a/options.c +++ b/options.c @@ -665,6 +665,7 @@ void usage(enum logcode F) rprintf(F," -v, --verbose increase verbosity\n"); rprintf(F," --info=FLAGS fine-grained informational verbosity\n"); rprintf(F," --debug=FLAGS fine-grained debug verbosity\n"); + rprintf(F," --msgs2stderr special output handling for debugging\n"); rprintf(F," -q, --quiet suppress non-error messages\n"); rprintf(F," --no-motd suppress daemon-mode MOTD (see manpage caveat)\n"); rprintf(F," -c, --checksum skip based on checksum, not mod-time & size\n"); diff --git a/rsync.yo b/rsync.yo index 96e2634..7cf3a80 100644 --- a/rsync.yo +++ b/rsync.yo @@ -320,6 +320,7 @@ to the detailed description below for a complete description. verb( -v, --verbose increase verbosity --info=FLAGS fine-grained informational verbosity --debug=FLAGS fine-grained debug verbosity + --msgs2stderr special output handling for debugging -q, --quiet suppress non-error messages --no-motd suppress daemon-mode MOTD (see caveat) -c, --checksum skip based on checksum, not mod-time & size @@ -538,6 +539,16 @@ This option was added to 3.1.0, so an older rsync on the server side might reject your attempts at fine-grained control (if one or more flags needed to be send to the server and the server was too old to understand them). +dit(bf(--msgs2stderr)) This option changes rsync to send all its output +directly to stderr rather than to send messages to the client side via the +protocol (which normally outputs info messages via stdout). This is mainly +intended for debugging in order to avoid changing the data sent via the +protocol, since the extra protocol data can change what is being tested. +Keep in mind that a daemon connection does not have a stderr channel to send +messages back to the client side, so if you are doing any daemon-transfer +debugging using this option, you should start up a daemon using bf(--no-detach) +so that you can see the stderr output on the daemon side. + dit(bf(-q, --quiet)) This option decreases the amount of information you are given during the transfer, notably suppressing information messages from the remote server. This option name is useful when invoking rsync from -- The rsync repository. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs