Replacement of the default chardev handlers now requires a call to release the current handlers.
Signed-off-by: Gal Hammer <gham...@redhat.com> --- monitor.c | 1 + qtest.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/monitor.c b/monitor.c index de90fba..db52e7f 100644 --- a/monitor.c +++ b/monitor.c @@ -5024,6 +5024,7 @@ void monitor_init(CharDriverState *chr, int flags) if (monitor_ctrl_mode(mon)) { mon->mc = g_malloc0(sizeof(MonitorControl)); /* Control mode requires special handlers */ + qemu_chr_add_handlers(chr, NULL, NULL, NULL, NULL); qemu_chr_add_handlers(chr, monitor_can_read, monitor_control_read, monitor_control_event, mon); qemu_chr_fe_set_echo(chr, true); diff --git a/qtest.c b/qtest.c index ae941d6..a5682ee 100644 --- a/qtest.c +++ b/qtest.c @@ -519,6 +519,8 @@ void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp) return; } + /* Replace the default tcp's handlers with qtest's handlers. */ + qemu_chr_add_handlers(chr, NULL, NULL, NULL, NULL); qemu_chr_add_handlers(chr, qtest_can_read, qtest_read, qtest_event, chr); qemu_chr_fe_set_echo(chr, true); -- 1.8.5.3