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>
This commit is contained in:
Michael S. Tsirkin 2014-02-04 20:06:47 +02:00 committed by Andreas Färber
parent f673e70ccc
commit b3be57c358
3 changed files with 8 additions and 1 deletions

View File

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

View File

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

2
vl.c
View File

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