diff options
author | ToMe25 <ToMe25@gmx.de> | 2021-04-18 17:49:33 +0200 |
---|---|---|
committer | ToMe25 <ToMe25@gmx.de> | 2021-04-18 17:49:33 +0200 |
commit | cfabe09ad8ae906c5c06077a8b4a8a77e4286f40 (patch) | |
tree | c135f93c46f5ef365e27695e6a9d8dedc67a7294 | |
parent | 72124ab00565e8f7b87770d19182b9fdbb2d2fca (diff) | |
download | libgtop-cfabe09ad8ae906c5c06077a8b4a8a77e4286f40.tar.gz |
Fix some more procmap.c issues
Commit acinclude getmntinfo workaround
-rw-r--r-- | acinclude.m4 | 3 | ||||
-rw-r--r-- | sysdeps/openbsd/procmap.c | 14 |
2 files changed, 8 insertions, 9 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index 79e0b374..8bbda0cb 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -263,8 +263,7 @@ AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo, [ ok= if test $ac_cv_func_getmntinfo = yes; then -AC_EGREP_HEADER(f_type;, sys/mount.h, -ok=yes) +AC_EGREP_HEADER(getmntinfo, sys/mount.h, ok=yes) fi test -n "$ok" \ && fu_cv_sys_mounted_getmntinfo=yes \ diff --git a/sysdeps/openbsd/procmap.c b/sysdeps/openbsd/procmap.c index 882c9308..06fab511 100644 --- a/sysdeps/openbsd/procmap.c +++ b/sysdeps/openbsd/procmap.c @@ -206,12 +206,12 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, return NULL; } - RB_INIT(&root); + //RB_INIT(&root); nentries = load_vmmap_entries(server, - (unsigned long) RB_ROOT(&vmspace.vm_map.addr), + (unsigned long) &RB_ROOT(&vmspace.vm_map.addr), &RB_ROOT(&root), NULL); if (nentries == -1) { - unload_vmmap_entries(RB_ROOT(&root)); + unload_vmmap_entries(&RB_ROOT(&root)); glibtop_error_io_r (server, "kvm_read (entry)"); } @@ -231,7 +231,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, * to OBJT_DEFAULT so it seems this really works. */ - RBT_FOREACH(entry, uvm_map_addr, &root) { + RB_FOREACH(entry, uvm_map_addr, &root) { glibtop_map_entry *mentry; unsigned long inum, dev; guint len; @@ -247,7 +247,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, (unsigned long) entry->object.uvm_obj, &vnode, sizeof (vnode)) != sizeof (vnode)) { glibtop_warn_io_r (server, "kvm_read (vnode)"); - unload_vmmap_entries(RB_ROOT(&root)); + unload_vmmap_entries(&RB_ROOT(&root)); glibtop_suid_leave (server); return (glibtop_map_entry*) g_array_free(maps, TRUE); } @@ -263,7 +263,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, (unsigned long) vnode.v_data, &inode, sizeof (inode)) != sizeof (inode)) { glibtop_warn_io_r (server, "kvm_read (inode)"); - unload_vmmap_entries(RB_ROOT(&root)); + unload_vmmap_entries(&RB_ROOT(&root)); glibtop_suid_leave (server); return (glibtop_map_entry*) g_array_free(maps, TRUE); } @@ -301,7 +301,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, buf->size = sizeof (glibtop_map_entry); buf->total = buf->number * buf->size; - unload_vmmap_entries(RB_ROOT(&root)); + unload_vmmap_entries(&RB_ROOT(&root)); return (glibtop_map_entry*) g_array_free(maps, FALSE); } |