Start to use dedicate IO thread for QMP monitors that are not using
MUXed chardev.
We excluded MUXed chardev because when mux is used, frontend can be the
monitor plus something else. The only thing we know would be safe to be
run outside main thread is the monitor frontend, all the rest of the
frontends should still be run in main thread only.
Signed-off-by: Peter Xu <peterx@redhat.com>
---
monitor.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/monitor.c b/monitor.c
index d9bed31248..847468ecb0 100644
--- a/monitor.c
+++ b/monitor.c
@@ -36,6 +36,7 @@
#include "net/net.h"
#include "net/slirp.h"
#include "chardev/char-fe.h"
+#include "chardev/char-mux.h"
#include "ui/qemu-spice.h"
#include "sysemu/numa.h"
#include "monitor/monitor.h"
@@ -4262,7 +4263,7 @@ void monitor_init(Chardev *chr, int flags)
Monitor *mon = g_malloc(sizeof(*mon));
GMainContext *context;
- monitor_data_init(mon, false, false);
+ monitor_data_init(mon, false, !CHARDEV_IS_MUX(chr));
qemu_chr_fe_init(&mon->chr, chr, &error_abort);
mon->flags = flags;
--
2.13.5