[git commit] top: do not use previous colleced data wheh "h" toggles threads display

Denys Vlasenko vda.linux at googlemail.com
Sun Aug 11 14:17:11 UTC 2019


commit: https://git.busybox.net/busybox/commit/?id=ac78f2ac96b3efd6551a08e7dc609efa1fb69481
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

This prevents first update from showing incorrect CPU usage data

function                                             old     new   delta
handle_input                                         620     643     +23

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 procps/top.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/procps/top.c b/procps/top.c
index 8fe53324f..5c41e8e10 100644
--- a/procps/top.c
+++ b/procps/top.c
@@ -979,6 +979,9 @@ static unsigned handle_input(unsigned scan_mask, duration_t interval)
 		IF_FEATURE_TOPMEM(&& scan_mask != TOPMEM_MASK)
 		) {
 			scan_mask ^= PSSCAN_TASKS;
+			free(prev_hist);
+			prev_hist = NULL;
+			prev_hist_count = 0;
 			continue;
 		}
 # endif
@@ -1000,10 +1003,10 @@ static unsigned handle_input(unsigned scan_mask, duration_t interval)
 #  if ENABLE_FEATURE_TOPMEM
 		if (c == 's') {
 			scan_mask = TOPMEM_MASK;
+			sort_field = (sort_field + 1) % NUM_SORT_FIELD;
 			free(prev_hist);
 			prev_hist = NULL;
 			prev_hist_count = 0;
-			sort_field = (sort_field + 1) % NUM_SORT_FIELD;
 			continue;
 		}
 #  endif


More information about the busybox-cvs mailing list