diff options
| author | Daniel P. Berrangé <berrange@redhat.com> | 2026-07-06 14:58:04 +0100 |
|---|---|---|
| committer | Markus Armbruster <armbru@redhat.com> | 2026-07-07 11:16:24 +0200 |
| commit | d32de72a739fc4fd38c7422f933ed150480d8d98 (patch) | |
| tree | 6568a6ade27b30631ffffd1a1a4735581034ab1a /monitor | |
| parent | 12de966616cbb350a48443f4161407abac23aae4 (diff) | |
| download | qemu-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.c | 5 |
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) { |
