X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/41000dffc1e98a2f9fb19550f2c6bfc5f6290137..7a7810aa2f14476d319eee537ba69bfe21d3a926:/sender.c diff --git a/sender.c b/sender.c index e3a896af..f36c41dc 100644 --- a/sender.c +++ b/sender.c @@ -32,6 +32,7 @@ extern int logfile_format_has_i; extern int csum_length; extern int append_mode; extern int io_error; +extern int flist_eof; extern int allowed_lull; extern int preserve_xattrs; extern int protocol_version; @@ -44,6 +45,8 @@ extern int write_batch; extern struct stats stats; extern struct file_list *cur_flist, *first_flist, *dir_flist; +BOOL extra_flist_sending_enabled; + /** * @file * @@ -179,12 +182,16 @@ void send_files(int f_in, int f_out) rprintf(FINFO, "send_files starting\n"); while (1) { - if (inc_recurse) + if (inc_recurse) { send_extra_file_list(f_out, MIN_FILECNT_LOOKAHEAD); + extra_flist_sending_enabled = !flist_eof; + } /* This call also sets cur_flist. */ ndx = read_ndx_and_attrs(f_in, &iflags, &fnamecmp_type, xname, &xlen); + extra_flist_sending_enabled = False; + if (ndx == NDX_DONE) { if (!am_server && INFO_GTE(PROGRESS, 2) && cur_flist) { set_current_file_index(NULL, 0);