summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2014-02-04 20:06:47 +0200
committerAndreas Färber <afaerber@suse.de>2014-02-13 17:47:43 +0100
commitb3be57c358b3186b675ce4452a030fd3d9f37be0 (patch)
treeb7b6d96142e5fa0bf53e5bd72c2896dff4a87822
parentf673e70ccc668607620cd6d30fd0b9bc7a54151d (diff)
downloadqemu-b3be57c358b3186b675ce4452a030fd3d9f37be0.tar.gz
qtest: don't report signals if qtest driver enabled
qtest driver always uses signals to kill qemu no need to report it, whatever the accelerator state. Add API to detect qtest driver, and suppress reporting signals in this case. Reported-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
-rw-r--r--include/sysemu/qtest.h2
-rw-r--r--qtest.c5
-rw-r--r--vl.c2
3 files changed, 8 insertions, 1 deletions
diff --git a/include/sysemu/qtest.h b/include/sysemu/qtest.h
index 112a661ac4..6aca8e4c1f 100644
--- a/include/sysemu/qtest.h
+++ b/include/sysemu/qtest.h
@@ -23,6 +23,8 @@ static inline bool qtest_enabled(void)
return qtest_allowed;
}
+bool qtest_driver(void);
+
int qtest_init_accel(void);
void qtest_init(const char *qtest_chrdev, const char *qtest_log);
diff --git a/qtest.c b/qtest.c
index dcf1301229..a738afc724 100644
--- a/qtest.c
+++ b/qtest.c
@@ -528,3 +528,8 @@ void qtest_init(const char *qtest_chrdev, const char *qtest_log)
qtest_chr = chr;
}
+
+bool qtest_driver(void)
+{
+ return qtest_chr;
+}
diff --git a/vl.c b/vl.c
index 383be1b617..a7b00cdd37 100644
--- a/vl.c
+++ b/vl.c
@@ -1750,7 +1750,7 @@ static int qemu_shutdown_requested(void)
static void qemu_kill_report(void)
{
- if (!qtest_enabled() && shutdown_signal != -1) {
+ if (!qtest_driver() && shutdown_signal != -1) {
fprintf(stderr, "qemu: terminating on signal %d", shutdown_signal);
if (shutdown_pid == 0) {
/* This happens for eg ^C at the terminal, so it's worth