qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v6 04/12] qmp: Assert that no other monitor is active


From: Kevin Wolf
Subject: [PATCH v6 04/12] qmp: Assert that no other monitor is active
Date: Thu, 28 May 2020 17:37:34 +0200

monitor_qmp_dispatch() is never supposed to be called in the context of
another monitor, so assert that monitor_cur() is NULL instead of saving
and restoring it.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 monitor/qmp.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/monitor/qmp.c b/monitor/qmp.c
index 5e9abd4711..a04c512e3a 100644
--- a/monitor/qmp.c
+++ b/monitor/qmp.c
@@ -135,16 +135,15 @@ static void monitor_qmp_respond(MonitorQMP *mon, QDict 
*rsp)
 
 static void monitor_qmp_dispatch(MonitorQMP *mon, QObject *req)
 {
-    Monitor *old_mon;
     QDict *rsp;
     QDict *error;
 
-    old_mon = monitor_cur();
+    assert(monitor_cur() == NULL);
     monitor_set_cur(&mon->common);
 
     rsp = qmp_dispatch(mon->commands, req, qmp_oob_enabled(mon));
 
-    monitor_set_cur(old_mon);
+    monitor_set_cur(NULL);
 
     if (mon->commands == &qmp_cap_negotiation_commands) {
         error = qdict_get_qdict(rsp, "error");
-- 
2.25.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]