Browse Source

top: do not use previous colleced data wheh "h" toggles threads display

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@googlemail.com>
Denys Vlasenko 4 years ago
parent
commit
ac78f2ac96
1 changed files with 4 additions and 1 deletions
  1. 4 1
      procps/top.c

+ 4 - 1
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