diff --git a/configure.in b/configure.in index 7cbc80ac..36f0bc28 100644 --- a/configure.in +++ b/configure.in @@ -457,6 +457,7 @@ AC_ARG_ENABLE(debug, if test "$x_debug_on" = "yes"; then AC_DEFINE(DEBUG, 1) test "$GCC" = "yes" && CFLAGS="-pedantic $CFLAGS" + AC_CHECK_FUNCS(mtrace) fi # enable "strict RFC rules"? diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c index 9239edfe..952a10a4 100644 --- a/src/ngircd/ngircd.c +++ b/src/ngircd/ngircd.c @@ -84,6 +84,12 @@ main( int argc, const char *argv[] ) int i; size_t n; +#if defined(DEBUG) && defined(HAVE_MTRACE) + /* enable GNU libc memory tracing when running in debug mode + * and functionality available */ + mtrace(); +#endif + umask( 0077 ); NGIRCd_SignalQuit = NGIRCd_SignalRestart = NGIRCd_SignalRehash = false;