Fixed smaps parsing with linux > 2.6.21.
Closes #449595. Improved example. svn path=/trunk/; revision=2610
This commit is contained in:
@@ -140,9 +140,9 @@ main (int argc, char *argv [])
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
g_print("smaps flags:%#llx size:%llu rss:%llu "
|
g_print("smaps flags:%#llx size:%lluKiB rss:%lluKiB "
|
||||||
"shared_clean:%llu shared_dirty:%llu "
|
"shared_clean:%lluKib shared_dirty:%lluKiB "
|
||||||
"private_clean:%llu private_dirty: %llu\n",
|
"private_clean:%lluKiB private_dirty: %lluKiB\n",
|
||||||
maps[i].flags,
|
maps[i].flags,
|
||||||
maps[i].size >> 10,
|
maps[i].size >> 10,
|
||||||
maps[i].rss >> 10,
|
maps[i].rss >> 10,
|
||||||
|
@@ -164,11 +164,10 @@ glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
|
|||||||
if (getline(&line, &line_size, maps) == -1)
|
if (getline(&line, &line_size, maps) == -1)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* 8 arguments */
|
|
||||||
if (sscanf(line, PROC_MAPS_FORMAT,
|
if (sscanf(line, PROC_MAPS_FORMAT,
|
||||||
&start, &end, flags, &offset,
|
&start, &end, flags, &offset,
|
||||||
&dev_major, &dev_minor, &inode, &line_end) != 7)
|
&dev_major, &dev_minor, &inode, &line_end) != 7)
|
||||||
break;
|
continue;
|
||||||
|
|
||||||
filename = line + line_end;
|
filename = line + line_end;
|
||||||
g_strstrip(filename);
|
g_strstrip(filename);
|
||||||
|
Reference in New Issue
Block a user