report that QEMU process was killed by a signal

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

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
Gleb Natapov 2011-03-15 13:56:04 +02:00 committed by Blue Swirl
parent bf6b87a883
commit f64622c401
3 changed files with 25 additions and 4 deletions

View file

@ -62,9 +62,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)
{
qemu_system_shutdown_request();
qemu_system_killed(info->si_signo, info->si_pid);
}
static void sigchld_handler(int signal)
@ -77,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);