From: Wayne Davison Date: Sat, 20 Nov 2004 07:08:44 +0000 (+0000) Subject: Call set_msg_fd_in() during the early phase of being a client sender X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/a0a33ee50659b6d67bfdeb593af9f8df216ce97b 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). --- 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");