From owner-svn-ports-head@FreeBSD.ORG Thu Feb 12 19:50:35 2015 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BFF56DF0; Thu, 12 Feb 2015 19:50:35 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AAB1C146; Thu, 12 Feb 2015 19:50:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1CJoZjW066081; Thu, 12 Feb 2015 19:50:35 GMT (envelope-from zi@FreeBSD.org) Received: (from zi@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1CJoZSA066079; Thu, 12 Feb 2015 19:50:35 GMT (envelope-from zi@FreeBSD.org) Message-Id: <201502121950.t1CJoZSA066079@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: zi set sender to zi@FreeBSD.org using -f From: Ryan Steinmetz Date: Thu, 12 Feb 2015 19:50:35 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r378886 - in head/net-mgmt/net-snmp: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Feb 2015 19:50:35 -0000 Author: zi Date: Thu Feb 12 19:50:34 2015 New Revision: 378886 URL: https://svnweb.freebsd.org/changeset/ports/378886 QAT: https://qat.redports.org/buildarchive/r378886/ Log: - Fix hrSystemProcesses regression - Bump PORTREVISION PR: 197124 Submitted by: Lukasz Wasikowski Obtained from: upstream: https://sourceforge.net/p/net-snmp/bugs/2595/ Added: head/net-mgmt/net-snmp/files/patch-kthreads (contents, props changed) Modified: head/net-mgmt/net-snmp/Makefile Modified: head/net-mgmt/net-snmp/Makefile ============================================================================== --- head/net-mgmt/net-snmp/Makefile Thu Feb 12 18:53:29 2015 (r378885) +++ head/net-mgmt/net-snmp/Makefile Thu Feb 12 19:50:34 2015 (r378886) @@ -3,7 +3,7 @@ PORTNAME= snmp PORTVERSION= 5.7.3 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= net-mgmt ipv6 MASTER_SITES= SF/net-${PORTNAME}/net-${PORTNAME}/${PORTVERSION} PKGNAMEPREFIX= net- Added: head/net-mgmt/net-snmp/files/patch-kthreads ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net-mgmt/net-snmp/files/patch-kthreads Thu Feb 12 19:50:34 2015 (r378886) @@ -0,0 +1,96 @@ +diff --git a/agent/mibgroup/host/data_access/swrun.c b/agent/mibgroup/host/data_access/swrun.c +index d18ea5f..60ad5b4 100644 +--- agent/mibgroup/host/data_access/swrun.c ++++ agent/mibgroup/host/data_access/swrun.c +@@ -75,10 +75,27 @@ shutdown_swrun(void) + } + + int +-swrun_count_processes( void ) ++swrun_count_processes(int include_kthreads) + { ++ netsnmp_swrun_entry *entry; ++ netsnmp_iterator *it; ++ int i = 0; ++ + netsnmp_cache_check_and_reload(swrun_cache); +- return ( swrun_container ? CONTAINER_SIZE(swrun_container) : 0 ); ++ if ( !swrun_container ) ++ return 0; /* or -1 */ ++ ++ if (include_kthreads) ++ return ( swrun_container ? CONTAINER_SIZE(swrun_container) : 0 ); ++ ++ it = CONTAINER_ITERATOR( swrun_container ); ++ while ((entry = (netsnmp_swrun_entry*)ITERATOR_NEXT( it )) != NULL) { ++ if (4 == entry->hrSWRunType) ++ i++; ++ } ++ ITERATOR_RELEASE( it ); ++ ++ return i; + } + + #ifndef NETSNMP_FEATURE_REMOVE_SWRUN_MAX_PROCESSES +diff --git a/agent/mibgroup/host/hr_system.c b/agent/mibgroup/host/hr_system.c +index d99cc7d..e853779 100644 +--- agent/mibgroup/host/hr_system.c ++++ agent/mibgroup/host/hr_system.c +@@ -24,6 +24,7 @@ + + #include + #include ++#include + + #include "host.h" + #include "host_res.h" +@@ -114,7 +115,14 @@ static long get_max_solaris_processes(void); + static int get_load_dev(void); + static int count_users(void); + extern int count_processes(void); +-extern int swrun_count_processes(void); ++#if USING_HOST_DATA_ACCESS_SWRUN_MODULE ++static int count_kthreads = 1; ++ ++static void parse_count_kthreads(const char *token, const char *line) ++{ ++ count_kthreads = atoi(line); ++} ++#endif + + /********************* + * +@@ -194,6 +202,11 @@ init_hr_system(void) + #ifdef NPROC_SYMBOL + auto_nlist(NPROC_SYMBOL, 0, 0); + #endif ++#if USING_HOST_DATA_ACCESS_SWRUN_MODULE ++ snmpd_register_const_config_handler("count_kthreads", ++ parse_count_kthreads, NULL, ++ "0|1 0 to exclude kernel threads from hrSystemProcesses.0"); ++#endif + + REGISTER_MIB("host/hr_system", hrsystem_variables, variable2, + hrsystem_variables_oid); +@@ -317,7 +330,7 @@ var_hrsys(struct variable * vp, + return (u_char *) & long_return; + case HRSYS_PROCS: + #if USING_HOST_DATA_ACCESS_SWRUN_MODULE +- long_return = swrun_count_processes(); ++ long_return = swrun_count_processes(1); + #elif USING_HOST_HR_SWRUN_MODULE + long_return = count_processes(); + #else +diff --git a/include/net-snmp/data_access/swrun.h b/include/net-snmp/data_access/swrun.h +index 3e15c41..4f768ac 100644 +--- include/net-snmp/data_access/swrun.h ++++ include/net-snmp/data_access/swrun.h +@@ -85,7 +85,7 @@ extern "C" { + + void netsnmp_swrun_entry_free(netsnmp_swrun_entry *entry); + +- int swrun_count_processes( void ); ++ int swrun_count_processes( int include_kthreads ); + int swrun_max_processes( void ); + int swrun_count_processes_by_name( char *name ); +