summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cleanup.c7
-rw-r--r--main.c4
-rw-r--r--rsync.c6
3 files changed, 11 insertions, 6 deletions
diff --git a/cleanup.c b/cleanup.c
index 5981bac8..76f57b5d 100644
--- a/cleanup.c
+++ b/cleanup.c
@@ -24,8 +24,7 @@
extern int am_server;
extern int am_daemon;
-extern int am_sender;
-extern int am_generator;
+extern int am_receiver;
extern int io_error;
extern int keep_partial;
extern int got_xfer_error;
@@ -171,7 +170,7 @@ NORETURN void _exit_cleanup(int code, const char *file, int line)
/* FALLTHROUGH */
#include "case_N.h"
- if (!code || am_server || (!am_sender && !am_generator))
+ if (!code || am_server || am_receiver)
io_flush(FULL_FLUSH);
/* FALLTHROUGH */
@@ -216,7 +215,7 @@ NORETURN void _exit_cleanup(int code, const char *file, int line)
#include "case_N.h"
if (exit_code && exit_code != RERR_SOCKETIO && exit_code != RERR_STREAMIO && exit_code != RERR_SIGNAL1
- && !shutting_down && (protocol_version >= 31 || (!am_sender && !am_generator))) {
+ && !shutting_down && (protocol_version >= 31 || am_receiver)) {
if (line > 0) {
if (DEBUG_GTE(EXIT, 3)) {
rprintf(FINFO, "[%s] sending MSG_ERROR_EXIT with exit_code %d\n",
diff --git a/main.c b/main.c
index dec59f46..4f3729e8 100644
--- a/main.c
+++ b/main.c
@@ -94,7 +94,8 @@ extern filter_rule_list daemon_filter_list;
uid_t our_uid;
gid_t our_gid;
-int am_generator = 0;
+int am_receiver = 0; /* Only set to 1 after the receiver/generator fork. */
+int am_generator = 0; /* Only set to 1 after the receiver/generator fork. */
int local_server = 0;
int daemon_over_rsh = 0;
mode_t orig_umask = 0;
@@ -851,6 +852,7 @@ static int do_recv(int f_in, int f_out, char *local_name)
}
if (pid == 0) {
+ am_receiver = 1;
send_msgs_to_gen = am_server;
close(error_pipe[0]);
diff --git a/rsync.c b/rsync.c
index 476792fe..31f96968 100644
--- a/rsync.c
+++ b/rsync.c
@@ -36,6 +36,7 @@ extern int preserve_times;
extern int am_root;
extern int am_server;
extern int am_sender;
+extern int am_receiver;
extern int am_generator;
extern int am_starting_up;
extern int allow_8bit_chars;
@@ -719,5 +720,8 @@ const char *who_am_i(void)
{
if (am_starting_up)
return am_server ? "server" : "client";
- return am_sender ? "sender" : am_generator ? "generator" : "receiver";
+ return am_sender ? "sender"
+ : am_generator ? "generator"
+ : am_receiver ? "receiver"
+ : "Receiver"; /* pre-forked receiver */
}