Blame SOURCES/kvm-tools-kvm_stat-handle-SIGINT-in-log-and-batch-modes.patch

9bac43
From dada85e20a716597bb06c8684eca7a17a2eb8c5e Mon Sep 17 00:00:00 2001
9bac43
From: David Hildenbrand <david@redhat.com>
9bac43
Date: Tue, 17 Oct 2017 19:15:29 +0200
9bac43
Subject: [PATCH 24/69] tools/kvm_stat: handle SIGINT in log and batch modes
9bac43
MIME-Version: 1.0
9bac43
Content-Type: text/plain; charset=UTF-8
9bac43
Content-Transfer-Encoding: 8bit
9bac43
9bac43
RH-Author: David Hildenbrand <david@redhat.com>
9bac43
Message-id: <20171017191605.2378-4-david@redhat.com>
9bac43
Patchwork-id: 77318
9bac43
O-Subject: [RHEL-7.5 qemu-kvm-rhev PATCH 03/39] tools/kvm_stat: handle SIGINT in log and batch modes
9bac43
Bugzilla: 1497137
9bac43
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
9bac43
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
9bac43
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
9bac43
RH-Acked-by: Thomas Huth <thuth@redhat.com>
9bac43
9bac43
Upstream-status: linux.git dadf1e7839243474b691ca4258bfd2a59e628a5e
9bac43
9bac43
commit dadf1e7839243474b691ca4258bfd2a59e628a5e
9bac43
Author: Stefan Raspl <raspl@linux.vnet.ibm.com>
9bac43
Date:   Fri Mar 10 13:40:02 2017 +0100
9bac43
9bac43
    tools/kvm_stat: handle SIGINT in log and batch modes
9bac43
9bac43
    SIGINT causes ugly unhandled exceptions in log and batch mode, which we
9bac43
    prevent by catching the exceptions accordingly.
9bac43
9bac43
    Signed-off-by: Stefan Raspl <raspl@linux.vnet.ibm.com>
9bac43
    Reviewed-by: Marc Hartmayer <mhartmay@linux.vnet.ibm.com>
9bac43
    Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
9bac43
9bac43
Signed-off-by: David Hildenbrand <david@redhat.com>
9bac43
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
9bac43
---
9bac43
 scripts/kvm/kvm_stat | 28 +++++++++++++++++-----------
9bac43
 1 file changed, 17 insertions(+), 11 deletions(-)
9bac43
9bac43
diff --git a/scripts/kvm/kvm_stat b/scripts/kvm/kvm_stat
9bac43
index ef47ad7..14536c0 100755
9bac43
--- a/scripts/kvm/kvm_stat
9bac43
+++ b/scripts/kvm/kvm_stat
9bac43
@@ -969,12 +969,15 @@ class Tui(object):
9bac43
 
9bac43
 def batch(stats):
9bac43
     """Prints statistics in a key, value format."""
9bac43
-    s = stats.get()
9bac43
-    time.sleep(1)
9bac43
-    s = stats.get()
9bac43
-    for key in sorted(s.keys()):
9bac43
-        values = s[key]
9bac43
-        print '%-42s%10d%10d' % (key, values[0], values[1])
9bac43
+    try:
9bac43
+        s = stats.get()
9bac43
+        time.sleep(1)
9bac43
+        s = stats.get()
9bac43
+        for key in sorted(s.keys()):
9bac43
+            values = s[key]
9bac43
+            print '%-42s%10d%10d' % (key, values[0], values[1])
9bac43
+    except KeyboardInterrupt:
9bac43
+        pass
9bac43
 
9bac43
 def log(stats):
9bac43
     """Prints statistics as reiterating key block, multiple value blocks."""
9bac43
@@ -991,11 +994,14 @@ def log(stats):
9bac43
     line = 0
9bac43
     banner_repeat = 20
9bac43
     while True:
9bac43
-        time.sleep(1)
9bac43
-        if line % banner_repeat == 0:
9bac43
-            banner()
9bac43
-        statline()
9bac43
-        line += 1
9bac43
+        try:
9bac43
+            time.sleep(1)
9bac43
+            if line % banner_repeat == 0:
9bac43
+                banner()
9bac43
+            statline()
9bac43
+            line += 1
9bac43
+        except KeyboardInterrupt:
9bac43
+            break
9bac43
 
9bac43
 def get_options():
9bac43
     """Returns processed program arguments."""
9bac43
-- 
9bac43
1.8.3.1
9bac43