From f4313d46693231fc6c3f5d379b8dc5b8e1b3a54d Mon Sep 17 00:00:00 2001 From: Yu Qing Date: Thu, 18 Feb 2016 16:52:56 +0800 Subject: [PATCH] add macro HAVE_VMMETER_H --- make.sh | 10 ++++++++++ src/sockopt.c | 2 -- src/system_info.c | 8 ++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/make.sh b/make.sh index 4f9afe6..96f3783 100755 --- a/make.sh +++ b/make.sh @@ -62,6 +62,7 @@ fi LIBS='-lm' uname=`uname` +HAVE_VMMETER_H=0 if [ "$uname" = "Linux" ]; then OS_NAME=OS_LINUX IOEVENT_USE=IOEVENT_USE_EPOLL @@ -71,6 +72,11 @@ elif [ "$uname" = "FreeBSD" ] || [ "$uname" = "Darwin" ]; then if [ "$uname" = "Darwin" ]; then CFLAGS="$CFLAGS -DDARWIN" fi + + if [ -f /usr/include/sys/vmmeter.h ]; then + HAVE_VMMETER_H=1 + fi + elif [ "$uname" = "SunOS" ]; then OS_NAME=OS_SUNOS IOEVENT_USE=IOEVENT_USE_PORT @@ -105,6 +111,10 @@ cat < src/_os_define.h #define $IOEVENT_USE 1 #endif +#ifndef HAVE_VMMETER_H +#define HAVE_VMMETER_H $HAVE_VMMETER_H +#endif + #endif EOF diff --git a/src/sockopt.c b/src/sockopt.c index df2c2c0..4335ba3 100644 --- a/src/sockopt.c +++ b/src/sockopt.c @@ -44,8 +44,6 @@ #include #include #include -#include -#include #endif #endif diff --git a/src/system_info.c b/src/system_info.c index b2c0d02..042960e 100644 --- a/src/system_info.c +++ b/src/system_info.c @@ -31,7 +31,11 @@ #ifdef OS_FREEBSD #include #include + +#if HAVE_VMMETER_H == 1 #include +#endif + #endif #endif @@ -681,7 +685,9 @@ int get_sysinfo(struct fast_sysinfo*info) int mib[4]; size_t size; struct loadavg loads; +#if HAVE_VMMETER_H == 1 struct vmtotal vm; +#endif struct xsw_usage sw_usage; memset(info, 0, sizeof(struct fast_sysinfo)); @@ -723,6 +729,7 @@ int get_sysinfo(struct fast_sysinfo*info) get_sys_total_mem_size((int64_t *)&info->totalram); +#if HAVE_VMMETER_H == 1 mib[0] = CTL_VM; mib[1] = VM_METER; size = sizeof(vm); @@ -739,6 +746,7 @@ int get_sysinfo(struct fast_sysinfo*info) info->sharedram = vm.t_rmshr; //info->bufferram = vm. //TODO: } +#endif mib[0] = CTL_VM; mib[1] = VM_SWAPUSAGE;