aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt/zabbix2-server/files
diff options
context:
space:
mode:
authorSylvio Cesar Teixeira <sylvio@FreeBSD.org>2012-05-12 13:55:28 +0000
committerSylvio Cesar Teixeira <sylvio@FreeBSD.org>2012-05-12 13:55:28 +0000
commitb996cf999f23ce25de51382b0026b62e628626e1 (patch)
tree5050ae0f77d84521f54c5dec96c2012851be5b8b /net-mgmt/zabbix2-server/files
parentbcc65a4ce3151c9191efd1434070c32f0d4b90ec (diff)
downloadports-b996cf999f23ce25de51382b0026b62e628626e1.tar.gz
ports-b996cf999f23ce25de51382b0026b62e628626e1.zip
Notes
Diffstat (limited to 'net-mgmt/zabbix2-server/files')
-rw-r--r--net-mgmt/zabbix2-server/files/patch-src_libs_zbxsysinfo_freebsd__proc.c98
1 files changed, 98 insertions, 0 deletions
diff --git a/net-mgmt/zabbix2-server/files/patch-src_libs_zbxsysinfo_freebsd__proc.c b/net-mgmt/zabbix2-server/files/patch-src_libs_zbxsysinfo_freebsd__proc.c
new file mode 100644
index 000000000000..fe686e0eb785
--- /dev/null
+++ b/net-mgmt/zabbix2-server/files/patch-src_libs_zbxsysinfo_freebsd__proc.c
@@ -0,0 +1,98 @@
+--- src/libs/zbxsysinfo/freebsd/proc.c.orig 2011-12-28 03:27:42.000000000 -0600
++++ src/libs/zbxsysinfo/freebsd/proc.c 2012-04-25 21:54:13.877489156 -0500
+@@ -36,17 +36,13 @@
+ # define ZBX_PROC_PID ki_pid
+ # define ZBX_PROC_COMM ki_comm
+ # define ZBX_PROC_STAT ki_stat
+-# define ZBX_PROC_TSIZE ki_tsize
+-# define ZBX_PROC_DSIZE ki_dsize
+-# define ZBX_PROC_SSIZE ki_ssize
++# define ZBX_PROC_VSIZE ki_size
+ #else
+ # define ZBX_COMMLEN MAXCOMLEN
+ # define ZBX_PROC_PID kp_proc.p_pid
+ # define ZBX_PROC_COMM kp_proc.p_comm
+ # define ZBX_PROC_STAT kp_proc.p_stat
+-# define ZBX_PROC_TSIZE kp_eproc.e_vm.vm_tsize
+-# define ZBX_PROC_DSIZE kp_eproc.e_vm.vm_dsize
+-# define ZBX_PROC_SSIZE kp_eproc.e_vm.vm_ssize
++# define ZBX_PROC_VSIZE kp_eproc.e_vm.vm_map.size
+ #endif
+
+ static char *get_commandline(struct kinfo_proc *proc)
+@@ -97,7 +93,7 @@
+ char procname[MAX_STRING_LEN],
+ buffer[MAX_STRING_LEN],
+ proccomm[MAX_STRING_LEN], *args;
+- int do_task, pagesize, count, i,
++ int do_task, count, i,
+ proc_ok, comm_ok,
+ mib[4], mibs;
+
+@@ -152,8 +148,6 @@
+ if (0 != get_param(param, 4, proccomm, sizeof(proccomm)))
+ *proccomm = '\0';
+
+- pagesize = getpagesize();
+-
+ mib[0] = CTL_KERN;
+ mib[1] = KERN_PROC;
+ if (NULL != usrinfo)
+@@ -164,7 +158,11 @@
+ }
+ else
+ {
++#if(__FreeBSD_version > 500000)
++ mib[2] = KERN_PROC_PROC;
++#else
+ mib[2] = KERN_PROC_ALL;
++#endif
+ mib[3] = 0;
+ mibs = 3;
+ }
+@@ -184,11 +182,6 @@
+
+ for (i = 0; i < count; i++)
+ {
+-#if(__FreeBSD_version > 500000)
+- if (proc[i].ki_flag & P_KTHREAD) /* skip a system thread */
+- continue;
+-#endif
+-
+ proc_ok = 0;
+ comm_ok = 0;
+ if (*procname == '\0' || 0 == strcmp(procname, proc[i].ZBX_PROC_COMM))
+@@ -205,8 +198,7 @@
+
+ if (proc_ok && comm_ok)
+ {
+- value = proc[i].ZBX_PROC_TSIZE + proc[i].ZBX_PROC_DSIZE + proc[i].ZBX_PROC_SSIZE;
+- value *= pagesize;
++ value = proc[i].ZBX_PROC_VSIZE; /* vsize is bytes not pages */
+
+ if (0 == proccount++)
+ memsize = value;
+@@ -306,7 +298,11 @@
+ }
+ else
+ {
++#if(__FreeBSD_version > 500000)
++ mib[2] = KERN_PROC_PROC;
++#else
+ mib[2] = KERN_PROC_ALL;
++#endif
+ mib[3] = 0;
+ mibs = 3;
+ }
+@@ -326,11 +322,6 @@
+
+ for (i = 0; i < count; i++)
+ {
+-#if(__FreeBSD_version > 500000)
+- if (proc[i].ki_flag & P_KTHREAD) /* skip a system thread */
+- continue;
+-#endif
+-
+ proc_ok = 0;
+ stat_ok = 0;
+ comm_ok = 0; \ No newline at end of file