--- projects/libstatgrab/src/libstatgrab/tools.c 2004/03/20 21:28:10 1.33 +++ projects/libstatgrab/src/libstatgrab/tools.c 2004/04/04 22:09:32 1.34 @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA * 02111-1307 USA * - * $Id: tools.c,v 1.33 2004/03/20 21:28:10 tdb Exp $ + * $Id: tools.c,v 1.34 2004/04/04 22:09:32 tdb Exp $ */ #ifdef HAVE_CONFIG_H @@ -34,7 +34,7 @@ #ifdef ALLBSD #include #endif -#if defined(FREEBSD) || defined(DFBSD) +#if (defined(FREEBSD) && !defined(FREEBSD5)) || defined(DFBSD) #include #endif #if defined(NETBSD) || defined(OPENBSD) @@ -420,7 +420,7 @@ long long get_ll_match(char *line, regmatch_t *match){ return num; } -#if defined(FREEBSD) || defined(DFBSD) +#if (defined(FREEBSD) && !defined(FREEBSD5)) || defined(DFBSD) kvm_t *get_kvm() { static kvm_t *kvmd = NULL; @@ -431,6 +431,18 @@ kvm_t *get_kvm() { kvmd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, NULL); return kvmd; } + +/* Can't think of a better name for this function */ +kvm_t *get_kvm2() { + static kvm_t *kvmd2 = NULL; + + if (kvmd2 != NULL) { + return kvmd2; + } + + kvmd2 = kvm_openfiles(_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, NULL); + return kvmd2; +} #endif #if defined(NETBSD) || defined(OPENBSD) @@ -464,6 +476,10 @@ int statgrab_init(){ { kvm_t *kvmd = get_kvm(); if (kvmd == NULL) return 1; + } + { + kvm_t *kvmd2 = get_kvm2(); + if (kvmd2 == NULL) return 1; } #endif #if defined(NETBSD) || defined(OPENBSD)