In read_batch mode, we now let the code write out the index value
authorWayne Davison <wayned@samba.org>
Wed, 21 Jul 2004 23:59:25 +0000 (23:59 +0000)
committerWayne Davison <wayned@samba.org>
Wed, 21 Jul 2004 23:59:25 +0000 (23:59 +0000)
to the f_out pipe before we return from recv_generator().  This gives
the receiver something to sync with so that it doesn't rush ahead of
us (which could be bad if we didn't have a chance to create the
destination dirs yet).

generator.c

index 899e744ae2c8e3da45f4017e04f5ae01b895746c..728bcb77cbc6328ba12ad50a01a9207ad9100639 100644 (file)
@@ -404,9 +404,6 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
        }
 #endif
 
-       if (read_batch)
-               return;
-
        if (preserve_hard_links && hard_link_check(file, HL_CHECK_MASTER))
                return;
 
@@ -446,7 +443,7 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
                        return;
                if (errno == ENOENT) {
                        write_int(f_out,i);
-                       if (!dry_run)
+                       if (!dry_run && !read_batch)
                                write_sum_head(f_out, NULL);
                } else if (verbose > 1) {
                        rsyserr(FERROR, errno,
@@ -465,7 +462,7 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
                if (preserve_hard_links && hard_link_check(file, HL_SKIP))
                        return;
                write_int(f_out,i);
-               if (!dry_run)
+               if (!dry_run && !read_batch)
                        write_sum_head(f_out, NULL);
                return;
        }
@@ -489,7 +486,7 @@ static void recv_generator(char *fname, struct file_struct *file, int i,
                return;
        }
 
-       if (dry_run) {
+       if (dry_run || read_batch) {
                write_int(f_out,i);
                return;
        }