mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-05 23:19:31 +03:00
prim.c: fix for macOS without MACH_TASK_BASIC_INFO
This commit is contained in:
parent
cd915900a2
commit
2647146abd
1 changed files with 8 additions and 0 deletions
|
@ -610,11 +610,19 @@ void _mi_prim_process_info(mi_process_info_t* pinfo)
|
||||||
pinfo->page_faults = 0;
|
pinfo->page_faults = 0;
|
||||||
#elif defined(__APPLE__)
|
#elif defined(__APPLE__)
|
||||||
pinfo->peak_rss = rusage.ru_maxrss; // macos reports in bytes
|
pinfo->peak_rss = rusage.ru_maxrss; // macos reports in bytes
|
||||||
|
#ifdef MACH_TASK_BASIC_INFO
|
||||||
struct mach_task_basic_info info;
|
struct mach_task_basic_info info;
|
||||||
mach_msg_type_number_t infoCount = MACH_TASK_BASIC_INFO_COUNT;
|
mach_msg_type_number_t infoCount = MACH_TASK_BASIC_INFO_COUNT;
|
||||||
if (task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t)&info, &infoCount) == KERN_SUCCESS) {
|
if (task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t)&info, &infoCount) == KERN_SUCCESS) {
|
||||||
pinfo->current_rss = (size_t)info.resident_size;
|
pinfo->current_rss = (size_t)info.resident_size;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
struct task_basic_info info;
|
||||||
|
mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;
|
||||||
|
if (task_info(mach_task_self(), TASK_BASIC_INFO, (task_info_t)&info, &infoCount) == KERN_SUCCESS) {
|
||||||
|
pinfo->current_rss = (size_t)info.resident_size;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
pinfo->peak_rss = rusage.ru_maxrss * 1024; // Linux/BSD report in KiB
|
pinfo->peak_rss = rusage.ru_maxrss * 1024; // Linux/BSD report in KiB
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue