summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2004-11-20 07:08:44 +0000
committerWayne Davison <wayned@samba.org>2004-11-20 07:08:44 +0000
commita0a33ee50659b6d67bfdeb593af9f8df216ce97b (patch)
tree50bc015cfda9b461141aa0bd535a9b5b866d7b32 /main.c
parent98f8c9a5e54d90043248f8c64228e15a2baeec30 (diff)
downloadrsync-a0a33ee50659b6d67bfdeb593af9f8df216ce97b.tar.gz
Call set_msg_fd_in() during the early phase of being a client sender
so that we monitor the socket for any messages that it might send to us (and thus avoid a potential hang when verbosity is high).
Diffstat (limited to 'main.c')
-rw-r--r--main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/main.c b/main.c
index 267cbd7f..9c84b071 100644
--- a/main.c
+++ b/main.c
@@ -688,6 +688,8 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
if (am_sender) {
keep_dirlinks = 0; /* Must be disabled on the sender. */
io_start_buffering_out();
+ if (!remote_filesfrom_file)
+ set_msg_fd_in(f_in);
if (cvs_exclude)
add_cvs_excludes();
if (delete_mode && !delete_excluded)
@@ -699,6 +701,7 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
start_write_batch(f_out);
if (!read_batch) /* don't write to pipe */
flist = send_file_list(f_out,argc,argv);
+ set_msg_fd_in(-1);
if (verbose > 3)
rprintf(FINFO,"file list sent\n");