Message ID | 20200528153742.274164-5-kwolf@redhat.com |
---|---|
State | New |
Headers | show |
Series | monitor: Optionally run handlers in coroutines | expand |
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");
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(-)