]> granicus.if.org Git - procps-ng/commitdiff
top: harden detailed stats two abreast summary display <=== port of newlib e5386f1f
authorJim Warner <james.warner@comcast.net>
Mon, 19 Sep 2022 05:00:00 +0000 (00:00 -0500)
committerCraig Small <csmall@dropbear.xyz>
Tue, 20 Sep 2022 09:34:40 +0000 (19:34 +1000)
______________________________ original newlib message

When displaying detailed cpu statistics, as opposed to
those scalable graphs, only two per line can be shown.

Therefore, if we are showing a detail version, our '4'
toggle must prematurely revert to single mode display.

Conversely, the 't' toggle must also turn off that '4'
toggle rather than try to print more than 2 abreast if
we're currently executing in detailed statistics mode.

Signed-off-by: Jim Warner <james.warner@comcast.net>
top/top.c

index 08e1c8051545ffb464bdc7d65669fe5163a8ce83..92fff6d6ea1995a1cf1048a242ebc6383df13098 100644 (file)
--- a/top/top.c
+++ b/top/top.c
@@ -5860,6 +5860,9 @@ static void keys_summary (int ch) {
          if ((w->rc.double_up >= ADJOIN_limit)
          || ((w->rc.double_up >= smp_num_cpus)))
             w->rc.double_up = 0;
+         if ((w->rc.double_up > 1)
+         && (!w->rc.graph_cpus))
+            w->rc.double_up = 0;
          OFFw(w, (View_CPUSUM | View_CPUNOD));
          break;
       case 'C':
@@ -5883,6 +5886,9 @@ static void keys_summary (int ch) {
             w->rc.graph_cpus = 0;
             OFFw(w, View_STATES);
          }
+         if ((w->rc.double_up > 1)
+         && (!w->rc.graph_cpus))
+            w->rc.double_up = 0;
          break;
       default:                    // keep gcc happy
          break;