Currently when rogue script kills QEMU process (using TERM/INT/HUP
signal) it looks indistinguishable from system shutdown. Lets report
that QMEU was killed and leave some clues about the killed identity.

Signed-off-by: Gleb Natapov <g...@redhat.com>
diff --git a/os-posix.c b/os-posix.c
index 38c29d1..7e175e8 100644
--- a/os-posix.c
+++ b/os-posix.c
@@ -61,8 +61,9 @@ void os_setup_early_signal_handling(void)
     sigaction(SIGPIPE, &act, NULL);
 }
 
-static void termsig_handler(int signal)
+static void termsig_handler(int signal, siginfo_t *info, void *c)
 {
+    fprintf(stderr, "Got signal %d from pid %d\n", info->si_signo, 
info->si_pid);
     qemu_system_shutdown_request();
 }
 
@@ -76,7 +77,8 @@ void os_setup_signal_handling(void)
     struct sigaction act;
 
     memset(&act, 0, sizeof(act));
-    act.sa_handler = termsig_handler;
+    act.sa_sigaction = termsig_handler;
+    act.sa_flags = SA_SIGINFO;
     sigaction(SIGINT,  &act, NULL);
     sigaction(SIGHUP,  &act, NULL);
     sigaction(SIGTERM, &act, NULL);
--
                        Gleb.

Reply via email to