diff options
author | Wayne Davison <wayned@samba.org> | 2009-08-22 08:15:26 -0700 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2009-08-22 08:15:26 -0700 |
commit | ce827c3e50cd168027a555ec961b6636e5b63e59 (patch) | |
tree | 084485323fae104a377f2bc2c59fcb1a9fe6811e /generator.c | |
parent | 2523d0cc14365293a6d0ecb4e5191e50d92adaa6 (diff) | |
download | android_external_rsync-ce827c3e50cd168027a555ec961b6636e5b63e59.tar.gz android_external_rsync-ce827c3e50cd168027a555ec961b6636e5b63e59.tar.bz2 android_external_rsync-ce827c3e50cd168027a555ec961b6636e5b63e59.zip |
Have the sender use dead time to pad out the file list.
Diffstat (limited to 'generator.c')
-rw-r--r-- | generator.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/generator.c b/generator.c index 99b80576..6f4fa4f0 100644 --- a/generator.c +++ b/generator.c @@ -1949,8 +1949,12 @@ void check_for_finished_files(int itemizing, enum logcode code, int check_redo) break; write_ndx(sock_f_out, NDX_DONE); - if (!read_batch) - maybe_flush_socket(1); + if (!read_batch && !flist_eof) { + int old_total = 0; + for (flist = first_flist; flist != cur_flist; flist = flist->next) + old_total += flist->used; + maybe_flush_socket(!flist_eof && file_total - old_total < MIN_FILECNT_LOOKAHEAD/2); + } if (delete_during == 2 || !dir_tweaking) { /* Skip directory touch-up. */ @@ -2028,7 +2032,7 @@ void generate_files(int f_out, const char *local_name) do { #ifdef SUPPORT_HARD_LINKS if (preserve_hard_links && inc_recurse) { - while (!flist_eof && file_total < FILECNT_LOOKAHEAD/2) + while (!flist_eof && file_total < MIN_FILECNT_LOOKAHEAD/2) wait_for_receiver(); } #endif |