--- vl.c.orig 2009-09-23 09:30:02.000000000 +0200 +++ vl.c 2009-12-08 21:31:57.275033029 +0100 @@ -4742,6 +4742,11 @@ qemu_system_shutdown_request(); } +static void sigquit_handler(int signal) +{ + qemu_system_powerdown_request(); +} + static void sigchld_handler(int signal) { waitpid(-1, NULL, WNOHANG); @@ -4757,6 +4762,9 @@ sigaction(SIGHUP, &act, NULL); sigaction(SIGTERM, &act, NULL); + act.sa_handler = sigquit_handler; + sigaction(SIGQUIT, &act, NULL); + act.sa_handler = sigchld_handler; act.sa_flags = SA_NOCLDSTOP; sigaction(SIGCHLD, &act, NULL);