[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Bug 1217339] [PATCH v2] Unix signal to send ACPI-shutd
From: |
Simon |
Subject: |
Re: [Qemu-devel] [Bug 1217339] [PATCH v2] Unix signal to send ACPI-shutdown to Guest |
Date: |
Sat, 18 Mar 2017 14:41:16 +0100 |
User-agent: |
Roundcube Webmail/1.1.2 |
Hi,
The patch below adds the new command-line option `-powerdown' which
changes the behavior for both SIGHUP and SIGINT signals to cause a clean
power down of the guest using an ACPI shutdown request.
If this option is not used, the original behavior is kept.
Regards,
Simon.
Signed-off-by: Simon Geusebroek <address@hidden>
---
diff -ru a/qemu-options.hx b/qemu-options.hx
--- a/qemu-options.hx 2016-12-20 21:16:49.000000000 +0100
+++ b/qemu-options.hx 2017-03-18 14:17:35.759915414 +0100
@@ -3322,6 +3322,19 @@
disk image.
ETEXI
+DEF("powerdown", 0, QEMU_OPTION_powerdown, \
+ "-powerdown Cleanly power down the guest on SIGINT or SIGHUP\n",
\
+ QEMU_ARCH_ALL)
+STEXI
address@hidden -powerdown
address@hidden -powerdown
+Don't forcefully shutdown the guest upon SIGINT (Ctrl-C) or SIGHUP
(terminal
+closure) signals, but instead attempt to cleanly stop them using an
ACPI
+shutdown request.
+Non ACPI-aware and stuck guests will remain up, the SIGTERM signal will
still
+forcefully shutdown them.
+ETEXI
+
DEF("loadvm", HAS_ARG, QEMU_OPTION_loadvm, \
"-loadvm [tag|id]\n" \
" start right away with a saved state (loadvm in
monitor)\n",
diff -ru a/vl.c b/vl.c
--- a/vl.c 2016-12-20 21:16:54.000000000 +0100
+++ b/vl.c 2017-03-18 13:48:21.227967255 +0100
@@ -164,6 +164,7 @@
int fd_bootchk = 1;
static int no_reboot;
int no_shutdown = 0;
+int powerdown = 0;
int cursor_hide = 1;
int graphic_rotate = 0;
const char *watchdog;
@@ -1871,7 +1872,11 @@
/* Cannot call qemu_system_shutdown_request directly because
* we are in a signal handler.
*/
- shutdown_requested = 1;
+ if (powerdown == 1 && (signal == SIGINT || signal == SIGHUP)) {
+ powerdown_requested = 1;
+ } else {
+ shutdown_requested = 1;
+ }
qemu_notify_event();
}
@@ -3794,6 +3799,9 @@
case QEMU_OPTION_no_shutdown:
no_shutdown = 1;
break;
+ case QEMU_OPTION_powerdown:
+ powerdown = 1;
+ break;
case QEMU_OPTION_show_cursor:
cursor_hide = 0;
break;
--
- [Qemu-devel] [Bug 1217339] [PATCH] Unix signal to send ACPI-shutdown to Guest, Simon, 2017/03/15
- Re: [Qemu-devel] [Bug 1217339] [PATCH] Unix signal to send ACPI-shutdown to Guest, Daniel P. Berrange, 2017/03/15
- Re: [Qemu-devel] [Bug 1217339] [PATCH] Unix signal to send ACPI-shutdown to Guest, Simon, 2017/03/15
- Re: [Qemu-devel] [Bug 1217339] [PATCH] Unix signal to send ACPI-shutdown to Guest, Peter Maydell, 2017/03/15
- Re: [Qemu-devel] [Bug 1217339] [PATCH] Unix signal to send ACPI-shutdown to Guest, Daniel P. Berrange, 2017/03/15
- Re: [Qemu-devel] [Bug 1217339] [PATCH] Unix signal to send ACPI-shutdown to Guest, Peter Maydell, 2017/03/15
- Re: [Qemu-devel] [Bug 1217339] [PATCH] Unix signal to send ACPI-shutdown to Guest, Simon, 2017/03/16
- Re: [Qemu-devel] [Bug 1217339] [PATCH] Unix signal to send ACPI-shutdown to Guest, Daniel P. Berrange, 2017/03/16
- Re: [Qemu-devel] [Bug 1217339] [PATCH v2] Unix signal to send ACPI-shutdown to Guest,
Simon <=
- Re: [Qemu-devel] [Bug 1217339] [PATCH v2] Unix signal to send ACPI-shutdown to Guest, Daniel P. Berrange, 2017/03/20
- Re: [Qemu-devel] [Bug 1217339] [PATCH v2] Unix signal to send ACPI-shutdown to Guest, Simon, 2017/03/21