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 6881c8e..887f8d2 100644 (file)
--- a/main.c
+++ b/main.c
@@ -63,8 +63,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;
@@ -759,6 +762,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)