Message ID | 20200528153742.274164-5-kwolf@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | monitor: Optionally run handlers in coroutines | expand |
On 5/28/20 10:37 AM, Kevin Wolf wrote: > 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(-) > Reviewed-by: Eric Blake <eblake@redhat.com>
Kevin Wolf <kwolf@redhat.com> writes: > 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); I'd write !monitor_cur(). Matter of taste. > 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"); Reviewed-by: Markus Armbruster <armbru@redhat.com>
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(-)