[gnome-shell] main: Use mallinfo2 when available at build time
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] main: Use mallinfo2 when available at build time
- Date: Wed, 7 Jul 2021 14:49:15 +0000 (UTC)
commit 3cfbb48f46ca96c968ed98a216595557faa2bf3a
Author: Robert Mader <robert mader posteo de>
Date: Thu Apr 1 01:08:12 2021 +0200
main: Use mallinfo2 when available at build time
`mallinfo` has been deprecated in favor of `mallinfo2`:
```
The fields of the mallinfo structure that is returned by the
older mallinfo() function are typed as int. However, because
some internal bookkeeping values may be of type long, the
reported values may wrap around zero and thus be inaccurate.
```
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1786>
config.h.meson | 3 +++
meson.build | 1 +
src/main.c | 10 +++++++---
src/shell-global.c | 5 -----
4 files changed, 11 insertions(+), 8 deletions(-)
---
diff --git a/config.h.meson b/config.h.meson
index 141b2240a8..b93fda8727 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 <sys/resource.h> header file. */
#mesondefine HAVE_SYS_RESOURCE_H
diff --git a/meson.build b/meson.build
index c642a95e93..f0a2b4c552 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 23944351b4..a47154db17 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 <malloc.h>
#endif
#include <stdlib.h>
@@ -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 eff53f396a..99d2ac0ca6 100644
--- a/src/shell-global.c
+++ b/src/shell-global.c
@@ -31,11 +31,6 @@
#define GNOME_DESKTOP_USE_UNSTABLE_API
#include <libgnome-desktop/gnome-systemd.h>
-/* Memory report bits */
-#ifdef HAVE_MALLINFO
-#include <malloc.h>
-#endif
-
#if defined __OpenBSD__ || defined __FreeBSD__
#include <sys/sysctl.h>
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]