X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/468d7668191980c337e37cd3980f80dcd8e9c0fd..d90338cec6339cd72ad89372ea52055e670fb958:/generator.c diff --git a/generator.c b/generator.c index 262ffe23..3a7dda3b 100644 --- a/generator.c +++ b/generator.c @@ -726,16 +726,6 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, return; } - if (max_size && file->length > max_size) { - if (verbose > 1) { - if (the_file_list->count == 1) - fname = f_name(file); - rprintf(FINFO, "%s is over max-size\n", - safe_fname(fname)); - } - return; - } - if (preserve_links && S_ISLNK(file->mode)) { #ifdef SUPPORT_LINKS if (safe_symlinks && unsafe_symlink(file->u.link, fname)) { @@ -847,6 +837,16 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, return; } + if (max_size && file->length > max_size) { + if (verbose > 1) { + if (the_file_list->count == 1) + fname = f_name(file); + rprintf(FINFO, "%s is over max-size\n", + safe_fname(fname)); + } + return; + } + if (opt_ignore_existing && statret == 0) { if (verbose > 1) rprintf(FINFO, "%s exists\n", safe_fname(fname)); @@ -1194,8 +1194,11 @@ void generate_files(int f_out, struct file_list *flist, char *local_name) : "enabled"); } - if (protocol_version < 29) - ignore_timeout = 1; + /* Since we often fill up the outgoing socket and then just sit around + * waiting for the other 2 processes to do their thing, we don't want + * to exit on a timeout. If the data stops flowing, the receiver will + * notice that and let us know via the redo pipe (or its closing). */ + ignore_timeout = 1; for (i = 0; i < flist->count; i++) { struct file_struct *file = flist->files[i]; @@ -1241,10 +1244,6 @@ void generate_files(int f_out, struct file_list *flist, char *local_name) ignore_times = 1; make_backups = 0; /* avoid a duplicate backup for inplace processing */ - /* We expect to just sit around now, so don't exit on a timeout. - * If we really get a timeout then the other process should exit. */ - ignore_timeout = 1; - if (verbose > 2) rprintf(FINFO,"generate_files phase=%d\n",phase);