From 23ca9669aedb74fd4250c975305a9a9e3d202a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dejean?= Date: Mon, 23 Jan 2006 16:41:10 +0000 Subject: [PATCH] I can't believe i've been so stupid :) Uses smaps if linux > 2.6.14. * procmap.c: (glibtop_get_proc_map_s): I can't believe i've been so stupid :) Uses smaps if linux > 2.6.14. --- sysdeps/linux/ChangeLog | 7 +++++++ sysdeps/linux/procmap.c | 7 +++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/sysdeps/linux/ChangeLog b/sysdeps/linux/ChangeLog index 674696ce..246db675 100644 --- a/sysdeps/linux/ChangeLog +++ b/sysdeps/linux/ChangeLog @@ -1,3 +1,10 @@ +2006-01-23 Benoît Dejean + + * procmap.c: (glibtop_get_proc_map_s): + + I can't believe i've been so stupid :) + Uses smaps if linux > 2.6.14. + 2005-12-15 Benoît Dejean * proclist.c: (glibtop_get_proclist_s): diff --git a/sysdeps/linux/procmap.c b/sysdeps/linux/procmap.c index 5b16d349..ff810f36 100644 --- a/sysdeps/linux/procmap.c +++ b/sysdeps/linux/procmap.c @@ -133,12 +133,15 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid) 100); FILE *maps; const char *filename; + gboolean has_smaps; glibtop_init_s (&server, GLIBTOP_SYSDEPS_PROC_MAP, 0); memset (buf, 0, sizeof (glibtop_proc_map)); - if (server->os_version_code >= LINUX_VERSION_CODE(2, 6, 0)) + has_smaps = server->os_version_code >= LINUX_VERSION_CODE(2, 6, 14); + + if (has_smaps) filename = SMAPS_FILE; else filename = MAPS_FILE; @@ -211,7 +214,7 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid) entry->inode = (guint64) inode; g_strlcpy(entry->filename, filename, sizeof entry->filename); - if (server->os_version_code >= LINUX_VERSION_CODE(2, 6, 0)) + if (has_smaps) add_smaps(server, maps, entry); }