summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2014-02-04 20:04:21 +0200
committerMichael S. Tsirkin <mst@redhat.com>2014-02-05 16:55:50 +0200
commit35b307126cc99165881d24bb62cc52f21275cb54 (patch)
treec16e0ff5acd55a56a9538eb01b4c3b4d75c3259e
parente358edc8e90d580443b824e4ef799e137377ad86 (diff)
downloadhqemu-35b307126cc99165881d24bb62cc52f21275cb54.zip
hqemu-35b307126cc99165881d24bb62cc52f21275cb54.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>
-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 112a661..6aca8e4 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 dcf1301..a738afc 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 383be1b..a7b00cd 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
OpenPOWER on IntegriCloud