summaryrefslogtreecommitdiff
path: root/monitor
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2026-07-06 14:58:04 +0100
committerMarkus Armbruster <armbru@redhat.com>2026-07-07 11:16:24 +0200
commitd32de72a739fc4fd38c7422f933ed150480d8d98 (patch)
tree6568a6ade27b30631ffffd1a1a4735581034ab1a /monitor
parent12de966616cbb350a48443f4161407abac23aae4 (diff)
downloadqemu-d32de72a739fc4fd38c7422f933ed150480d8d98.tar.gz
qemu-d32de72a739fc4fd38c7422f933ed150480d8d98.zip
monitor: use dynamic cast in monitor_qmp_requests_pop_any_with_lock
This eliminates a use of monitor_is_qmp() from the QMP coroutine dispatch path. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Tested-by: Peter Krempa <pkrempa@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20260706135824.2623960-17-berrange@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'monitor')
-rw-r--r--monitor/qmp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/monitor/qmp.c b/monitor/qmp.c
index 8bbe25d8de..bd3e6f8375 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) {