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>
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 @@
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 @@
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 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