X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/e5a2b8544dee410dcdeafbc2f1b82f9a8f4faf23..0e9480317dbb5b8003535a769f4a03bc720d5f5f:/main.c diff --git a/main.c b/main.c index 89388373..4052ea98 100644 --- a/main.c +++ b/main.c @@ -57,6 +57,12 @@ static void report(int f) extern int remote_version; int send_stats; + if (do_stats) { + /* These come out from every process */ + show_malloc_stats(); + show_flist_stats(); + } + if (am_daemon) { log_exit(0, __FILE__, __LINE__); if (f == -1 || !am_sender) return; @@ -120,7 +126,6 @@ static void report(int f) rprintf(FINFO,"total size is %.0f speedup is %.2f\n", (double)stats.total_size, (1.0*stats.total_size)/(stats.total_written+stats.total_read)); - show_malloc_stats(); } fflush(stdout); @@ -135,10 +140,17 @@ static void show_malloc_stats(void) { #ifdef HAVE_MALLINFO struct mallinfo mi; + extern int am_server; + extern int am_sender; + extern int am_daemon; mi = mallinfo(); - rprintf(FINFO, RSYNC_NAME " heap statistics:\n"); + rprintf(FINFO, RSYNC_NAME "[%d] (%s%s%s) heap statistics:\n", + getpid(), + am_server ? "server " : "", + am_daemon ? "daemon " : "", + am_sender ? "sender" : "receiver"); rprintf(FINFO, " arena: %10d (bytes from sbrk)\n", mi.arena); rprintf(FINFO, " ordblks: %10d (chunks not in use)\n", mi.ordblks); rprintf(FINFO, " smblks: %10d\n", mi.smblks); @@ -792,8 +804,10 @@ int main(int argc,char *argv[]) extern int write_batch; /* dw */ extern char *batch_ext; /* dw */ int orig_argc; /* dw */ + char **orig_argv; orig_argc = argc; /* dw */ + orig_argv = argv; signal(SIGUSR1, sigusr1_handler); signal(SIGUSR2, sigusr2_handler); @@ -833,7 +847,7 @@ int main(int argc,char *argv[]) if (write_batch) { /* dw */ create_batch_file_ext(); - write_batch_argvs_file(orig_argc, argc, argv); + write_batch_argvs_file(orig_argc, orig_argv); } if (read_batch) { /* dw */