This eliminates a use of monitor_is_qmp() from the QMP coroutine dispatch path. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- monitor/qmp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/monitor/qmp.c b/monitor/qmp.c index 95b2c02497..5cf38c6273 100644 --- a/monitor/qmp.c +++ b/monitor/qmp.c @@ -277,11 +277,12 @@ static QMPRequest *monitor_qmp_requests_pop_any_with_lock(void) MonitorQMP *qmp_mon; QTAILQ_FOREACH(mon, &mon_list, entry) { - if (!monitor_is_qmp(mon)) { + qmp_mon = MONITOR_QMP( + object_dynamic_cast(OBJECT(mon), TYPE_MONITOR_QMP)); + if (!qmp_mon) { continue; } - qmp_mon = container_of(mon, MonitorQMP, parent_obj); qemu_mutex_lock(&qmp_mon->qmp_queue_lock); req_obj = g_queue_pop_head(qmp_mon->qmp_requests); if (req_obj) { -- 2.54.0