From b94207c49f30c52a525816860ab87bb39dcba776 Mon Sep 17 00:00:00 2001 From: Serhiy Mytrovtsiy Date: Mon, 9 Mar 2026 19:29:25 +0100 Subject: [PATCH] fix: fixed incorrect CPU tick calculation after UInt32 overflow (#3014) --- Modules/CPU/readers.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Modules/CPU/readers.swift b/Modules/CPU/readers.swift index 436f0002..4df60923 100644 --- a/Modules/CPU/readers.swift +++ b/Modules/CPU/readers.swift @@ -107,10 +107,10 @@ internal class LoadReader: Reader { return } - let userDiff = Double(cpuInfo!.cpu_ticks.0 - self.previousInfo.cpu_ticks.0) - let sysDiff = Double(cpuInfo!.cpu_ticks.1 - self.previousInfo.cpu_ticks.1) - let idleDiff = Double(cpuInfo!.cpu_ticks.2 - self.previousInfo.cpu_ticks.2) - let niceDiff = Double(cpuInfo!.cpu_ticks.3 - self.previousInfo.cpu_ticks.3) + let userDiff = Double(cpuInfo!.cpu_ticks.0 &- self.previousInfo.cpu_ticks.0) + let sysDiff = Double(cpuInfo!.cpu_ticks.1 &- self.previousInfo.cpu_ticks.1) + let idleDiff = Double(cpuInfo!.cpu_ticks.2 &- self.previousInfo.cpu_ticks.2) + let niceDiff = Double(cpuInfo!.cpu_ticks.3 &- self.previousInfo.cpu_ticks.3) let totalTicks = sysDiff + userDiff + niceDiff + idleDiff let system = sysDiff / totalTicks