summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoît Dejean <bdejean@src.gnome.org>2006-01-23 16:41:10 +0000
committerBenoît Dejean <bdejean@src.gnome.org>2006-01-23 16:41:10 +0000
commit23ca9669aedb74fd4250c975305a9a9e3d202a0f (patch)
tree6fa0d0f5f0cdf8c2218598999bfb1894155c4085
parentd66ae501f9296f72ee86d27617d846412bfbfc4e (diff)
downloadlibgtop-23ca9669aedb74fd4250c975305a9a9e3d202a0f.tar.gz
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.
-rw-r--r--sysdeps/linux/ChangeLog7
-rw-r--r--sysdeps/linux/procmap.c7
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 <benoit@placenet.org>
+
+ * 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 <benoit@placenet.org>
* 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);
}