- move away from old kinfo_proc2

- add mising comment
This commit is contained in:
jasper 2011-07-06 12:50:15 +00:00
parent 4c6e57fabb
commit 9d42a3ba0f
5 changed files with 43 additions and 14 deletions

View File

@ -1,8 +1,10 @@
$OpenBSD: patch-src_openbsd_c,v 1.11 2011/07/06 12:32:51 jasper Exp $
$OpenBSD: patch-src_openbsd_c,v 1.12 2011/07/06 12:50:15 jasper Exp $
declarations in common.h got changed, but upstream forgot to do the
corresponding changes into openbsd.c
Adapt to new OpenBSD kinfo_proc API.
--- src/openbsd.c.orig Tue Oct 5 23:29:36 2010
+++ src/openbsd.c Wed Jul 6 14:30:14 2011
@@ -140,7 +140,7 @@ int check_mount(char *s)

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.59 2011/03/02 06:59:55 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.60 2011/07/06 12:50:15 jasper Exp $
SHARED_ONLY= Yes
@ -9,6 +9,8 @@ V= 2.3.5
DISTNAME= gkrellm-${V}
PKGNAME-main= gkrellm-server-${V}
PKGNAME-client= gkrellm-${V}
REVISION-main= 0
REVISION-client=0
CATEGORIES= sysutils sysutils/gkrellm
HOMEPAGE= http://www.gkrellm.net/

View File

@ -1,6 +1,9 @@
$OpenBSD: patch-src_sysdeps_openbsd_c,v 1.17 2011/03/02 06:59:55 ajacoutot Exp $
$OpenBSD: patch-src_sysdeps_openbsd_c,v 1.18 2011/07/06 12:50:15 jasper Exp $
Adapt to new OpenBSD kinfo_proc API.
--- src/sysdeps/openbsd.c.orig Tue Oct 5 18:31:00 2010
+++ src/sysdeps/openbsd.c Mon Feb 14 07:46:00 2011
+++ src/sysdeps/openbsd.c Wed Jul 6 14:34:42 2011
@@ -62,85 +62,96 @@ gkrellm_sys_main_cleanup(void)
/* ===================================================================== */
/* CPU monitor interface */
@ -109,7 +112,7 @@ $OpenBSD: patch-src_sysdeps_openbsd_c,v 1.17 2011/03/02 06:59:55 ajacoutot Exp $
gkrellm_sys_proc_read_data(void)
{
- static int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ALL };
+ static int proc_mib[] = { CTL_KERN, KERN_PROC2, KERN_PROC_ALL };
+ static int proc_mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ALL };
+ static int fork_mib[] = { CTL_KERN, KERN_FORKSTAT };
double avenrun;
guint n_forks = 0, n_processes = 0;
@ -126,9 +129,8 @@ $OpenBSD: patch-src_sysdeps_openbsd_c,v 1.17 2011/03/02 06:59:55 ajacoutot Exp $
-
-
- if (sysctl(mib, 3, NULL, &len, NULL, 0) >= 0) {
- n_processes = len / sizeof(struct kinfo_proc);
+ if (sysctl(proc_mib, 3, NULL, &len, NULL, 0) >= 0) {
+ n_processes = len / sizeof(struct kinfo_proc2);
n_processes = len / sizeof(struct kinfo_proc);
}
- /* get name list if it is not done yet */

View File

@ -1,10 +1,10 @@
# $OpenBSD: Makefile,v 1.7 2010/10/26 16:13:40 sthen Exp $
# $OpenBSD: Makefile,v 1.8 2011/07/06 12:50:15 jasper Exp $
COMMENT= draws a graph of CPU usage of a certain process
DISTNAME= pscpug035
PKGNAME= pscpug-0.3.5
REVISION= 1
REVISION= 2
CATEGORIES= sysutils
HOMEPAGE= http://www.diablonet.net/~mercadal/projects/pscpug/

View File

@ -1,13 +1,15 @@
$OpenBSD: patch-psinfo_c,v 1.1 2010/10/26 16:13:40 sthen Exp $
$OpenBSD: patch-psinfo_c,v 1.2 2011/07/06 12:50:15 jasper Exp $
Adapt to new OpenBSD kinfo_proc API.
--- psinfo.c.orig Sun Mar 15 03:15:49 2009
+++ psinfo.c Tue Oct 26 18:09:12 2010
+++ psinfo.c Wed Jul 6 14:41:49 2011
@@ -90,7 +90,11 @@ char *getProcessNameByProcessID(int pid)
{
int found;
kvm_t *kd;
- struct kinfo_proc *givenproc;
+#if defined(__OpenBSD__)
+ struct kinfo_proc2 *givenproc;
struct kinfo_proc *givenproc;
+#else
+ struct kinfo_procs *givenproc;
+#endif
@ -19,7 +21,7 @@ $OpenBSD: patch-psinfo_c,v 1.1 2010/10/26 16:13:40 sthen Exp $
* Since pids are had better be unique, we should only get one.
*/
+#if defined(__OpenBSD__)
+ givenproc = kvm_getproc2(kd, KERN_PROC_PID, pid, sizeof(struct kinfo_proc2), &found);
+ givenproc = kvm_getprocs(kd, KERN_PROC_PID, pid, sizeof(struct kinfo_proc), &found);
+#else
givenproc = kvm_getprocs(kd, KERN_PROC_PID, pid, &found);
+#endif
@ -35,3 +37,24 @@ $OpenBSD: patch-psinfo_c,v 1.1 2010/10/26 16:13:40 sthen Exp $
# else
name = xstrdup(givenproc->kp_proc.p_comm);
#endif /* __FreeBSD__ */
@@ -249,10 +259,8 @@ float getProcessCPUPercentByProcessID(int pid)
}
#elif defined(USE_KVM)
{
- #if defined(__FreeBSD__) || defined(__DragonFly_version)
struct kinfo_proc *givenproc;
- #else
- struct kinfo_proc2 *givenproc;
+ #if !defined(__FreeBSD__) && !defined(__DragonFly_version)
struct nlist readnl[] = {{"_fscale"}, {NULL}};
#endif /* __FreeBSD__ or __DragonFly_version */
kvm_t *kd;
@@ -294,7 +302,7 @@ float getProcessCPUPercentByProcessID(int pid)
#if defined(__FreeBSD__) || defined(__DragonFly_version)
givenproc = kvm_getprocs(kd, KERN_PROC_PID, pid, &found);
#else
- givenproc = kvm_getproc2(kd, KERN_PROC_PID, pid, sizeof(struct kinfo_proc2), &found);
+ givenproc = kvm_getprocs(kd, KERN_PROC_PID, pid, sizeof(struct kinfo_proc), &found);
#endif /* __FreeBSD__ or __DragonFly_version */
switch (found) {