openbsd: merge patches from ports tree

Bring OpenBSD closer to FreeBSD to help checking what is missing/different.
Also we make sure to use and build mountlist and fsusage from the
sysdeps/openbsd directory instead of the common one.

https://bugzilla.gnome.org/show_bug.cgi?id=723521
This commit is contained in:
Antoine Jacoutot
2014-02-03 10:56:02 +01:00
parent c99ceeaa65
commit 4cd3e4fed6
17 changed files with 379 additions and 262 deletions

View File

@@ -191,8 +191,11 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
if (kvm_read (server->machine.kd,
(unsigned long) pinfo [0].p_vmspace,
(char *) &vmspace, sizeof (vmspace)) != sizeof (vmspace))
glibtop_error_io_r (server, "kvm_read (vmspace)");
(char *) &vmspace, sizeof (vmspace)) != sizeof (vmspace)) {
glibtop_warn_io_r (server, "kvm_read (vmspace)");
glibtop_suid_leave (server);
return NULL;
}
RB_INIT(&root);
nentries = load_vmmap_entries(server,
@@ -236,6 +239,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
&vnode, sizeof (vnode)) != sizeof (vnode)) {
glibtop_warn_io_r (server, "kvm_read (vnode)");
unload_vmmap_entries(RB_ROOT(&root));
glibtop_suid_leave (server);
return (glibtop_map_entry*) g_array_free(maps, TRUE);
}
@@ -248,8 +252,12 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
if (kvm_read (server->machine.kd,
(unsigned long) vnode.v_data,
&inode, sizeof (inode)) != sizeof (inode))
glibtop_error_io_r (server, "kvm_read (inode)");
&inode, sizeof (inode)) != sizeof (inode)) {
glibtop_warn_io_r (server, "kvm_read (inode)");
unload_vmmap_entries(RB_ROOT(&root));
glibtop_suid_leave (server);
return (glibtop_map_entry*) g_array_free(maps, TRUE);
}
inum = inode.i_number;
dev = inode.i_dev;
@@ -276,6 +284,8 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
mentry->perm |= GLIBTOP_MAP_PERM_EXECUTE;
}
glibtop_suid_leave (server);
buf->flags = _glibtop_sysdeps_proc_map;
buf->number = maps->len;