--- src/util.cc 2026-01-13 04:11:20.000000000 +0800 +++ src/util.cc 2026-01-13 10:54:45.000000000 +0800 @@ -1765,8 +1765,9 @@ #endif #ifdef HAVE_DARWIN +#ifdef MACH_TASK_BASIC_INFO struct mach_task_basic_info t_info; - mach_msg_type_number_t t_info_count = MACH_TASK_BASIC_INFO; + mach_msg_type_number_t t_info_count = MACH_TASK_BASIC_INFO_COUNT; if ( KERN_SUCCESS != task_info(mach_task_self(), MACH_TASK_BASIC_INFO, reinterpret_cast(&t_info), &t_info_count) ) @@ -1774,6 +1775,16 @@ else ret_total = t_info.resident_size; #else + struct task_basic_info t_info; + mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT; + + if ( KERN_SUCCESS != + task_info(mach_task_self(), TASK_BASIC_INFO, reinterpret_cast(&t_info), &t_info_count) ) + ret_total = 0; + else + ret_total = t_info.resident_size; +#endif +#else struct rusage r; getrusage(RUSAGE_SELF, &r);