From bf26aa22195b671e859d2c9147ffdda0a89efb98 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sun, 20 Feb 2005 01:04:49 +0000 Subject: [PATCH] - If --remove-sent-files was specified, abort if we're pulling from a read-only module. - If need_messages_from_generator is set, make sure that the connection between the generator to the sender has multiplexed I/O enabled. --- main.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/main.c b/main.c index fb8b57fe..14e8c069 100644 --- a/main.c +++ b/main.c @@ -33,7 +33,9 @@ extern int am_generator; extern int am_daemon; extern int blocking_io; extern int delete_before; +extern int remove_sent_files; extern int daemon_over_rsh; +extern int need_messages_from_generator; extern int do_stats; extern int log_got_error; extern int module_id; @@ -441,6 +443,12 @@ static void do_server_sender(int f_in, int f_out, int argc,char *argv[]) exit_cleanup(RERR_SYNTAX); return; } + if (am_daemon && lp_read_only(module_id) && remove_sent_files) { + rprintf(FERROR, + "ERROR: --remove-sent-files cannot be used with a read-only module\n"); + exit_cleanup(RERR_SYNTAX); + return; + } if (!relative_paths && !push_dir(dir)) { rsyserr(FERROR, errno, "push_dir#3 %s failed", @@ -672,6 +680,8 @@ void start_server(int f_in, int f_out, int argc, char *argv[]) if (am_sender) { keep_dirlinks = 0; /* Must be disabled on the sender. */ + if (need_messages_from_generator) + io_start_multiplex_in(); recv_filter_list(f_in); do_server_sender(f_in, f_out, argc, argv); @@ -749,6 +759,9 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[]) exit_cleanup(status); } + if (need_messages_from_generator && !read_batch) + io_start_multiplex_out(); + if (argc == 0) list_only |= 1; -- 2.34.1