[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] SIGTERM and SIGINT handler to flush xentop -b outputs



# HG changeset patch
# User inakoshi.hiroya@xxxxxxxxxxxxxx
# Date 1191287395 -28800
# Node ID 5543e74774a826b1781893982ed5052312b820fc
# Parent  83239b2890723e0c06bad507bb273a970784b18e
Flush stdout when xentop -b gets SIGINT and SIGTERM.
It is useful when you stop xentop -b by keyboard interrupt or by other
programs such as killall from a batch script.
You would have missed the bottom part of xentop outputs without this patch.

Signed-off-by: INAKOSHI Hiroya <inakoshi.hiroya@xxxxxxxxxxxxxx>

diff -r 83239b289072 -r 5543e74774a8 tools/xenstat/xentop/xentop.c
--- a/tools/xenstat/xentop/xentop.c     Thu Sep 27 16:29:43 2007 -0600
+++ b/tools/xenstat/xentop/xentop.c     Tue Oct 02 09:09:55 2007 +0800
@@ -31,6 +31,7 @@
 #if defined(__linux__)
 #include <linux/kdev_t.h>
 #endif
+#include <signal.h>

 #include <xenstat.h>

@@ -1011,6 +1012,13 @@ static void top(void)
        free(domains);
 }

+
+void a_sig_handler(int n)
+{
+       fflush(stdout);
+       exit(0);
+}
+
 int main(int argc, char **argv)
 {
        int opt, optind = 0;
@@ -1102,6 +1110,8 @@ int main(int argc, char **argv)
                        ch = getch();
                } while (handle_key(ch));
        } else {
+                       signal(SIGTERM, a_sig_handler);
+                       signal(SIGINT, a_sig_handler);
                        do {
                                gettimeofday(&curtime, NULL);
                                top();


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.