summaryrefslogtreecommitdiffstats
path: root/devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c')
-rw-r--r--devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c35
1 files changed, 28 insertions, 7 deletions
diff --git a/devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c b/devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c
index a174fda33..83e508054 100644
--- a/devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c
+++ b/devel/libgtop2/files/patch-sysdeps::freebsd::procmem.c
@@ -1,9 +1,22 @@
---- sysdeps/freebsd/procmem.c.orig Fri May 28 03:56:49 1999
-+++ sysdeps/freebsd/procmem.c Sun Sep 7 21:37:38 2003
-@@ -137,6 +137,23 @@
+--- sysdeps/freebsd/procmem.c.orig Sun Oct 19 12:55:32 2003
++++ sysdeps/freebsd/procmem.c Sat Feb 7 22:48:12 2004
+@@ -117,7 +117,7 @@
+ #else
+ struct vm_object object;
+ #endif
+- struct plimit plimit;
++ struct rlimit rlimit;
+ int count;
+
+ glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_PROC_MEM), 0);
+@@ -137,15 +137,29 @@
return;
}
+- if (kvm_read (server->machine.kd,
+- (unsigned long) pinfo [0].kp_proc.p_limit,
+- (char *) &plimit, sizeof (plimit)) != sizeof (plimit)) {
+- glibtop_warn_io_r (server, "kvm_read (plimit)");
+#if __FreeBSD_version >= 500013
+
+#define XXX_P_VMSPACE ki_vmspace
@@ -21,10 +34,18 @@
+
+#define XXX_P_VMSPACE kp_proc.p_vmspace
+
- if (kvm_read (server->machine.kd,
- (unsigned long) pinfo [0].kp_proc.p_limit,
- (char *) &plimit, sizeof (plimit)) != sizeof (plimit)) {
-@@ -154,11 +171,12 @@
++ if (getrlimit (RLIMIT_RSS, &rlimit) < 0) {
++ glibtop_warn_io_r (server, "getrlimit");
+ return;
+ }
+
+- buf->rss_rlim = (u_int64_t)
+- (plimit.pl_rlimit [RLIMIT_RSS].rlim_cur);
++ buf->rss_rlim = (u_int64_t) (rlimit.rlim_cur);
+
+ vms = &pinfo [0].kp_eproc.e_vm;
+
+@@ -154,11 +168,12 @@
buf->resident = buf->rss = (u_int64_t) pagetok
(vms->vm_rssize) << LOG1024;