diff options
author | Benoît Dejean <bdejean@src.gnome.org> | 2006-01-23 16:41:10 +0000 |
---|---|---|
committer | Benoît Dejean <bdejean@src.gnome.org> | 2006-01-23 16:41:10 +0000 |
commit | 23ca9669aedb74fd4250c975305a9a9e3d202a0f (patch) | |
tree | 6fa0d0f5f0cdf8c2218598999bfb1894155c4085 | |
parent | d66ae501f9296f72ee86d27617d846412bfbfc4e (diff) | |
download | libgtop-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/ChangeLog | 7 | ||||
-rw-r--r-- | 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 <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); } |