SystemMonitor: Fix calculation of CPU percentage

This commit addresses an issue when 'Zombie' threads are
included in CPU % calculation. This caused negative
time_scheduled_diff, resulting in a data type overflow.
This commit is contained in:
Michal Grich 2023-07-21 22:21:39 +02:00 committed by Tim Flynn
parent 89e2431517
commit 2e9fcc17a0
Notes: sideshowbarker 2024-07-17 02:14:39 +09:00

View File

@ -574,6 +574,9 @@ void ProcessModel::update()
tids_to_remove.append(it.key);
continue;
}
if (it.value->current_state.state == "Zombie") {
continue;
}
auto& thread = *it.value;
u64 time_scheduled_diff = (thread.current_state.time_user + thread.current_state.time_kernel)
- (thread.previous_state.time_user + thread.previous_state.time_kernel);