Added logic to the receiving side to ensure that the --delete-during
[rsync/rsync.git] / main.c
diff --git a/main.c b/main.c
index c32457d..dc3c533 100644 (file)
--- a/main.c
+++ b/main.c
@@ -64,8 +64,11 @@ extern int whole_file;
 extern int read_batch;
 extern int write_batch;
 extern int batch_fd;
+extern int flist_eof;
 extern int filesfrom_fd;
+extern int delete_during;
 extern int connect_timeout;
+extern int check_for_io_err;
 extern pid_t cleanup_child_pid;
 extern unsigned int module_dirlen;
 extern struct stats stats;
@@ -765,6 +768,8 @@ static int do_recv(int f_in, int f_out, char *local_name)
                exit_cleanup(RERR_IPC);
        }
 
+       check_for_io_err = inc_recurse && delete_during && !flist_eof;
+
        if (pid == 0) {
                close(error_pipe[0]);
                if (f_in != f_out)