mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-11 16:00:50 -07:00
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:
parent
bf6b87a883
commit
f64622c401
3 changed files with 25 additions and 4 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue