- Only do read-/write-batch processing if we're not the server (needed
[rsync/rsync.git] / generator.c
index 245690c..1d662b4 100644 (file)
@@ -1132,6 +1132,7 @@ void generate_files(int f_out, struct file_list *flist, char *local_name)
        int save_only_existing = only_existing;
        int save_opt_ignore_existing = opt_ignore_existing;
        int save_do_progress = do_progress;
+       int save_make_backups = make_backups;
 
        allowed_lull = read_batch ? 0 : (io_timeout + 1) / 2;
        lull_mod = allowed_lull * 5;
@@ -1205,6 +1206,8 @@ void generate_files(int f_out, struct file_list *flist, char *local_name)
 
                if (allowed_lull && !(i % lull_mod))
                        maybe_send_keepalive();
+               else if (!(i % 200))
+                       maybe_flush_socket();
        }
        recv_generator(NULL, NULL, 0, 0, 0, code, -1);
        if (delete_during)
@@ -1238,6 +1241,7 @@ void generate_files(int f_out, struct file_list *flist, char *local_name)
        phase++;
        only_existing = save_only_existing;
        opt_ignore_existing = save_opt_ignore_existing;
+       make_backups = save_make_backups;
 
        if (verbose > 2)
                rprintf(FINFO,"generate_files phase=%d\n",phase);
@@ -1278,8 +1282,10 @@ void generate_files(int f_out, struct file_list *flist, char *local_name)
                                continue;
                        recv_generator(f_name(file), file, i, itemizing,
                                       maybe_PERMS_REPORT, code, -1);
-                       if (allowed_lull && !(j++ % lull_mod))
+                       if (allowed_lull && !(++j % lull_mod))
                                maybe_send_keepalive();
+                       else if (!(j % 200))
+                               maybe_flush_socket();
                }
        }
        recv_generator(NULL, NULL, 0, 0, 0, code, -1);