diff --git a/darwin/DarwinProcess.c b/darwin/DarwinProcess.c index 0b4df3f6f..9bdd3f64c 100644 --- a/darwin/DarwinProcess.c +++ b/darwin/DarwinProcess.c @@ -370,13 +370,12 @@ void DarwinProcess_setFromLibprocPidinfo(DarwinProcess* proc, DarwinProcessTable const DarwinMachine* dhost = (const DarwinMachine*) proc->super.super.host; uint64_t total_existing_time_ns = proc->stime + proc->utime; - uint64_t user_time_ns = pti.pti_total_user; uint64_t system_time_ns = pti.pti_total_system; uint64_t total_current_time_ns = user_time_ns + system_time_ns; - if (total_existing_time_ns && 1E-6 < timeIntervalNS) { - uint64_t total_time_diff_ns = total_current_time_ns - total_existing_time_ns; + if (total_existing_time_ns < total_current_time_ns) { + const uint64_t total_time_diff_ns = total_current_time_ns - total_existing_time_ns; proc->super.percent_cpu = ((double)total_time_diff_ns / timeIntervalNS) * 100.0; } else { proc->super.percent_cpu = 0.0;