From 969cdffbeaaa32e4ef2ef90862b46f686856b042 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sat, 15 Sep 2007 15:30:45 +0000 Subject: [PATCH] Prevent a server from outputting an end-of-run message about its error-code that cannot be sent successfully. --- cleanup.c | 5 +++++ log.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cleanup.c b/cleanup.c index d35d77af..a6a90238 100644 --- a/cleanup.c +++ b/cleanup.c @@ -103,6 +103,11 @@ NORETURN void _exit_cleanup(int code, const char *file, int line) if (exit_code) /* Preserve first error code when recursing. */ code = exit_code; + /* If this is the exit at the end of the run, the server side + * should not attempt to output a message (see log.c). */ + if (am_server && code == 0) + am_server = 2; + /* Some of our actions might cause a recursive call back here, so we * keep track of where we are in the cleanup and never repeat a step. */ switch (cleanup_step) { diff --git a/log.c b/log.c index 06b5ae37..f3a3cff1 100644 --- a/log.c +++ b/log.c @@ -792,7 +792,7 @@ void log_exit(int code, const char *file, int line) (double)stats.total_written, (double)stats.total_read, (double)stats.total_size); - } else { + } else if (am_server != 2) { const char *name; name = rerr_name(code); -- 2.34.1