summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2008-12-28 17:51:36 -0800
committerWayne Davison <wayned@samba.org>2008-12-28 17:51:36 -0800
commitb64ae8b3b4e1fe6d12075ddac07b864369602980 (patch)
treebe7ab65ae56c6992371f36f87edb015e658d1d02
parent9938bad34ab9570ba8404396612e84217a087cf5 (diff)
downloadrsync-b64ae8b3b4e1fe6d12075ddac07b864369602980.tar.gz
rsync-b64ae8b3b4e1fe6d12075ddac07b864369602980.tar.bz2
rsync-b64ae8b3b4e1fe6d12075ddac07b864369602980.zip
Avoid a hang when using at least 3 --verbose options on a transfer with
a client sender (which includes local copying).
-rw-r--r--NEWS3
-rw-r--r--flist.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index e7140951..7a920d0d 100644
--- a/NEWS
+++ b/NEWS
@@ -42,6 +42,9 @@ Changes since 3.0.4:
- Fixed a bug when using --sparse on a sparse file that has over 2GB of
consecutive sparse data.
+ - Avoid a hang when using at least 3 --verbose options on a transfer with a
+ client sender (which includes local copying).
+
- Fixed a problem with --delete-delay reporting an error when it was ready
to remove a directory that was now gone.
diff --git a/flist.c b/flist.c
index 83ce237c..8e435a91 100644
--- a/flist.c
+++ b/flist.c
@@ -2246,6 +2246,7 @@ struct file_list *recv_file_list(int f)
struct file_list *flist;
int dstart, flags;
int64 start_read;
+ int save_verbose = verbose;
if (!first_flist)
rprintf(FLOG, "receiving file list\n");
@@ -2272,6 +2273,8 @@ struct file_list *recv_file_list(int f)
dstart = 0;
}
+ if (am_server && verbose > 2)
+ verbose = 2;
while ((flags = read_byte(f)) != 0) {
struct file_struct *file;
@@ -2296,6 +2299,7 @@ struct file_list *recv_file_list(int f)
}
}
file_total += flist->used;
+ verbose = save_verbose;
if (verbose > 2)
rprintf(FINFO, "received %d names\n", flist->used);