aboutsummaryrefslogtreecommitdiffstats
path: root/generator.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2009-08-22 08:15:26 -0700
committerWayne Davison <wayned@samba.org>2009-08-22 08:15:26 -0700
commitce827c3e50cd168027a555ec961b6636e5b63e59 (patch)
tree084485323fae104a377f2bc2c59fcb1a9fe6811e /generator.c
parent2523d0cc14365293a6d0ecb4e5191e50d92adaa6 (diff)
downloadandroid_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.c10
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