From bc03949bebccd3ffaa0509f56859845be4b51923 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Mon, 30 Nov 2009 19:33:48 +0000 Subject: [PATCH] * make configure check for getloadavg() --- citadel/configure.ac | 4 ++-- citadel/threads.c | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/citadel/configure.ac b/citadel/configure.ac index bd2562419..362e64966 100644 --- a/citadel/configure.ac +++ b/citadel/configure.ac @@ -165,7 +165,7 @@ if test "x$with_zlib" != xno ; then fi if test "x$ok_zlib" = xyes ; then -dnl libcitadel will bring libz, so we don't need it here. LDFLAGS="-lz $LDFLAGS" + LDFLAGS="-lz $LDFLAGS" AC_DEFINE(HAVE_ZLIB, [], [define this if you have zlib compression available]) fi @@ -406,7 +406,7 @@ dnl Checks for libraries. dnl We want to test for the following in libc before checking for their dnl respective libraries, because some systems (like Irix) have both, and the dnl non-libc versions may be broken. -AC_CHECK_FUNCS(crypt gethostbyname connect flock getpwnam_r getpwuid_r) +AC_CHECK_FUNCS(crypt gethostbyname connect flock getpwnam_r getpwuid_r getloadavg) dnl disable backtrace if we don't want it. diff --git a/citadel/threads.c b/citadel/threads.c index e115306a2..2b419848b 100644 --- a/citadel/threads.c +++ b/citadel/threads.c @@ -410,16 +410,18 @@ double CtdlThreadGetWorkerAvg(void) double CtdlThreadGetLoadAvg(void) { - double load_avg[3] ; + double load_avg[3] = {0.0, 0.0, 0.0}; - int ret; + int ret = 0; int smp_num_cpus; /* Borrowed this straight from procps */ smp_num_cpus = sysconf(_SC_NPROCESSORS_ONLN); if(smp_num_cpus<1) smp_num_cpus=1; /* SPARC glibc is buggy */ +#ifdef HAVE_GETLOADAVG ret = getloadavg(load_avg, 3); +#endif if (ret < 0) return 0; return load_avg[0] / smp_num_cpus; -- 2.30.2