OSDN Git Service

Fix output when -m is not passed
authorColin Cross <ccross@android.com>
Wed, 16 Sep 2015 23:31:31 +0000 (16:31 -0700)
committerColin Cross <ccross@android.com>
Thu, 17 Sep 2015 18:12:57 +0000 (18:12 +0000)
limit == -1 was being treated as limit == 0, and no tasks were being
printed.

Change-Id: Ie4ec278249bc750a3494e55d483dd983bf7bbdc3

iotop/iotop.cpp

index 645490d..a7d569b 100644 (file)
@@ -247,20 +247,23 @@ int main(int argc, char* argv[]) {
         total_write += statistics.write();
         total_read_write += statistics.read_write();
 
-        if (n > 0) {
+        if (n == 0) {
+          continue;
+        } else if (n > 0) {
           n--;
-          printf("%6d %-16s %6" PRIu64 " %6" PRIu64 " %6" PRIu64 " %5.2f%% %5.2f%% %5.2f%% %5.2f%% %5.2f%%\n",
-              statistics.pid(),
-              statistics.comm().c_str(),
-              BytesToKB(statistics.read()) / delay_div,
-              BytesToKB(statistics.write()) / delay_div,
-              BytesToKB(statistics.read_write()) / delay_div,
-              TimeToTgidPercent(statistics.delay_io(), delay, statistics),
-              TimeToTgidPercent(statistics.delay_swap(), delay, statistics),
-              TimeToTgidPercent(statistics.delay_sched(), delay, statistics),
-              TimeToTgidPercent(statistics.delay_mem(), delay, statistics),
-              TimeToTgidPercent(statistics.delay_total(), delay, statistics));
         }
+
+        printf("%6d %-16s %6" PRIu64 " %6" PRIu64 " %6" PRIu64 " %5.2f%% %5.2f%% %5.2f%% %5.2f%% %5.2f%%\n",
+            statistics.pid(),
+            statistics.comm().c_str(),
+            BytesToKB(statistics.read()) / delay_div,
+            BytesToKB(statistics.write()) / delay_div,
+            BytesToKB(statistics.read_write()) / delay_div,
+            TimeToTgidPercent(statistics.delay_io(), delay, statistics),
+            TimeToTgidPercent(statistics.delay_swap(), delay, statistics),
+            TimeToTgidPercent(statistics.delay_sched(), delay, statistics),
+            TimeToTgidPercent(statistics.delay_mem(), delay, statistics),
+            TimeToTgidPercent(statistics.delay_total(), delay, statistics));
       }
       printf("%6s %-16s %6" PRIu64 " %6" PRIu64 " %6" PRIu64 "\n", "", "TOTAL",
           BytesToKB(total_read) / delay_div,