Prevent a server from outputting an end-of-run message about its
authorWayne Davison <wayned@samba.org>
Sat, 15 Sep 2007 15:30:45 +0000 (15:30 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 15 Sep 2007 15:30:45 +0000 (15:30 +0000)
error-code that cannot be sent successfully.

cleanup.c
log.c

index d35d77a..a6a9023 100644 (file)
--- 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 06b5ae3..f3a3cff 100644 (file)
--- 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);