diff --git a/config.h.meson b/config.h.meson index 141b2240a..b93fda872 100644 --- a/config.h.meson +++ b/config.h.meson @@ -13,6 +13,9 @@ /* Define to 1 if you have the `mallinfo' function. */ #mesondefine HAVE_MALLINFO +/* Define to 1 if you have the `mallinfo2' function. */ +#mesondefine HAVE_MALLINFO2 + /* Define to 1 fi you have the header file. */ #mesondefine HAVE_SYS_RESOURCE_H diff --git a/meson.build b/meson.build index c642a95e9..f0a2b4c55 100644 --- a/meson.build +++ b/meson.build @@ -158,6 +158,7 @@ cdata.set('HAVE_GIO_DESKTOP_LAUNCH_URIS_WITH_FDS', ) cdata.set('HAVE_FDWALK', cc.has_function('fdwalk')) cdata.set('HAVE_MALLINFO', cc.has_function('mallinfo')) +cdata.set('HAVE_MALLINFO2', cc.has_function('mallinfo2')) cdata.set('HAVE_SYS_RESOURCE_H', cc.has_header('sys/resource.h')) cdata.set('HAVE__NL_TIME_FIRST_WEEKDAY', cc.has_header_symbol('langinfo.h', '_NL_TIME_FIRST_WEEKDAY') diff --git a/src/main.c b/src/main.c index 23944351b..a47154db1 100644 --- a/src/main.c +++ b/src/main.c @@ -2,7 +2,7 @@ #include "config.h" -#ifdef HAVE_MALLINFO +#if defined (HAVE_MALLINFO) || defined (HAVE_MALLINFO2) #include #endif #include @@ -212,8 +212,12 @@ static void malloc_statistics_callback (ShellPerfLog *perf_log, gpointer data) { -#ifdef HAVE_MALLINFO +#if defined (HAVE_MALLINFO) || defined (HAVE_MALLINFO2) +#ifdef HAVE_MALLINFO2 + struct mallinfo2 info = mallinfo2 (); +#else struct mallinfo info = mallinfo (); +#endif shell_perf_log_update_statistic_i (perf_log, "malloc.arenaSize", @@ -224,7 +228,7 @@ malloc_statistics_callback (ShellPerfLog *perf_log, shell_perf_log_update_statistic_i (perf_log, "malloc.usedSize", info.uordblks); -#endif +#endif /* defined (HAVE_MALLINFO) || defined (HAVE_MALLINFO2) */ } static void diff --git a/src/shell-global.c b/src/shell-global.c index eff53f396..99d2ac0ca 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -31,11 +31,6 @@ #define GNOME_DESKTOP_USE_UNSTABLE_API #include -/* Memory report bits */ -#ifdef HAVE_MALLINFO -#include -#endif - #if defined __OpenBSD__ || defined __FreeBSD__ #include #endif