diff --git a/src/common_define.h b/src/common_define.h index 3ecc508..8681c19 100644 --- a/src/common_define.h +++ b/src/common_define.h @@ -153,6 +153,10 @@ extern int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int kind); #define ECANCELED 125 #endif +#ifndef ENODATA +#define ENODATA 61 /* No data available */ +#endif + #ifndef ENONET #define ENONET 64 /* Machine is not on the network */ #endif diff --git a/src/system_info.c b/src/system_info.c index 5618b89..2fc5ff9 100644 --- a/src/system_info.c +++ b/src/system_info.c @@ -72,8 +72,11 @@ int get_sys_total_mem_size(int64_t *mem_size) size_t len; mib[0] = CTL_HW; - //mib[1] = HW_MEMSIZE; +#ifdef DARWIN + mib[1] = HW_MEMSIZE; +#else mib[1] = HW_PHYSMEM; +#endif len = sizeof(*mem_size); if (sysctl(mib, 2, mem_size, &len, NULL, 0) != 0) {