[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v8 05/14] qmp: Assert that no other monitor is active
From: |
Kevin Wolf |
Subject: |
[PATCH v8 05/14] qmp: Assert that no other monitor is active |
Date: |
Mon, 5 Oct 2020 17:58:46 +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, 4 insertions(+), 1 deletion(-)
diff --git a/monitor/qmp.c b/monitor/qmp.c
index bb2d9d0cc7..8469970c69 100644
--- a/monitor/qmp.c
+++ b/monitor/qmp.c
@@ -140,8 +140,11 @@ static void monitor_qmp_dispatch(MonitorQMP *mon, QObject
*req)
QDict *error;
old_mon = monitor_set_cur(&mon->common);
+ assert(old_mon == NULL);
+
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
- [PATCH v8 00/14] monitor: Optionally run handlers in coroutines, Kevin Wolf, 2020/10/05
- [PATCH v8 01/14] monitor: Add Monitor parameter to monitor_set_cpu(), Kevin Wolf, 2020/10/05
- [PATCH v8 02/14] monitor: Add Monitor parameter to monitor_get_cpu_index(), Kevin Wolf, 2020/10/05
- [PATCH v8 04/14] hmp: Update current monitor only in handle_hmp_command(), Kevin Wolf, 2020/10/05
- [PATCH v8 03/14] monitor: Use getter/setter functions for cur_mon, Kevin Wolf, 2020/10/05
- [PATCH v8 05/14] qmp: Assert that no other monitor is active,
Kevin Wolf <=
- [PATCH v8 06/14] qmp: Call monitor_set_cur() only in qmp_dispatch(), Kevin Wolf, 2020/10/05
- [PATCH v8 07/14] monitor: Make current monitor a per-coroutine property, Kevin Wolf, 2020/10/05
- [PATCH v8 08/14] qapi: Add a 'coroutine' flag for commands, Kevin Wolf, 2020/10/05
- [PATCH v8 09/14] qmp: Move dispatcher to a coroutine, Kevin Wolf, 2020/10/05
- [PATCH v8 12/14] block: Add bdrv_co_enter()/leave(), Kevin Wolf, 2020/10/05
- [PATCH v8 11/14] util/async: Add aio_co_reschedule_self(), Kevin Wolf, 2020/10/05
- [PATCH v8 10/14] hmp: Add support for coroutine command handlers, Kevin Wolf, 2020/10/05
- [PATCH v8 13/14] block: Add bdrv_lock()/unlock(), Kevin Wolf, 2020/10/05
- [PATCH v8 14/14] block: Convert 'block_resize' to coroutine, Kevin Wolf, 2020/10/05
- Re: [PATCH v8 00/14] monitor: Optionally run handlers in coroutines, Markus Armbruster, 2020/10/06