diff --git a/src/stats.c b/src/stats.c index 172a3c0a..4c4f2486 100644 --- a/src/stats.c +++ b/src/stats.c @@ -466,7 +466,7 @@ static void mi_process_info(mi_msecs_t* utime, mi_msecs_t* stime, size_t* peak_r *page_reclaim = 0; } -#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__)) +#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__)) || defined(__HAIKU__) #include #include #include @@ -482,6 +482,7 @@ static mi_msecs_t timeval_secs(const struct timeval* tv) { static void mi_process_info(mi_msecs_t* utime, mi_msecs_t* stime, size_t* peak_rss, size_t* page_faults, size_t* page_reclaim, size_t* peak_commit) { struct rusage rusage; getrusage(RUSAGE_SELF, &rusage); +#if !defined(__HAIKU__) #if defined(__APPLE__) && defined(__MACH__) *peak_rss = rusage.ru_maxrss; #else @@ -490,6 +491,14 @@ static void mi_process_info(mi_msecs_t* utime, mi_msecs_t* stime, size_t* peak_r *page_faults = rusage.ru_majflt; *page_reclaim = rusage.ru_minflt; *peak_commit = 0; +#else +// Haiku does not have (yet?) a way to +// get these stats per process + *peak_rss = 0; + *page_faults = 0; + *page_reclaim = 0; + *peak_commit = 0; +#endif *utime = timeval_secs(&rusage.ru_utime); *stime = timeval_secs(&rusage.ru_stime); }