From ac82d81538908636711b3b1824af682f47d4f64f Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 30 Nov 2007 18:11:26 +0000 Subject: [PATCH] r16874@catbus: nickm | 2007-11-30 13:11:09 -0500 When using dmalloc, dump the top ten memory consumers to the _DMALLOC_ logfile when we get a SIGUSR1. Hint: it is not what you would think. svn:r12613 --- ChangeLog | 4 ++++ src/common/util.c | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2c46609c55..3239e7ba96 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,10 @@ Changes in version 0.2.0.13-alpha - 2007-11-?? to build a descriptor with no intro points (and it would have crashed if we had tried to parse one). Bugfix on 0.2.0.x; patch by Karsten Loesing. + - Fix building with dmalloc 5.5.2 with glibc. + + o Minor features: + - On USR1, when dmalloc is in use, log the top 10 memory consumers. Changes in version 0.2.0.12-alpha - 2007-11-16 diff --git a/src/common/util.c b/src/common/util.c index 87f6aa5f18..03670c503b 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -76,8 +76,10 @@ const char util_c_id[] = "$Id$"; * Memory management * ===== */ #ifdef USE_DMALLOC + #undef strndup #include #define DMALLOC_FN_ARGS , file, line + #define dmalloc_strdup(file, line, string, xalloc_b) dmalloc_strndup(file, line, (string), -1, xalloc_b) #else #define dmalloc_strdup(file, line, string, xalloc_b) strdup(string) @@ -228,6 +230,10 @@ tor_log_mallinfo(int severity) #else (void)severity; #endif +#ifdef USE_DMALLOC + dmalloc_log_stats(); + // too wordy dmalloc_log_unfreed(); +#endif } /* =====