diff options
| author | Kevin Wolf <kwolf@redhat.com> | 2020-10-05 17:58:44 +0200 |
|---|---|---|
| committer | Markus Armbruster <armbru@redhat.com> | 2020-10-09 07:08:19 +0200 |
| commit | 947e47448dcc4e4d7a8b7c42b43acb3435b3ad35 (patch) | |
| tree | 855a18a7da785ee7dff7919ec9a02be34c6ff51c /monitor/misc.c | |
| parent | 87e6f4a4d6885006931b371771e2933c40700427 (diff) | |
| download | focaccia-qemu-947e47448dcc4e4d7a8b7c42b43acb3435b3ad35.tar.gz focaccia-qemu-947e47448dcc4e4d7a8b7c42b43acb3435b3ad35.zip | |
monitor: Use getter/setter functions for cur_mon
cur_mon really needs to be coroutine-local as soon as we move monitor command handlers to coroutines and let them yield. As a first step, just remove all direct accesses to cur_mon so that we can implement this in the getter function later. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Message-Id: <20201005155855.256490-4-kwolf@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'monitor/misc.c')
| -rw-r--r-- | monitor/misc.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/monitor/misc.c b/monitor/misc.c index 4ea575eea8..ee8db45094 100644 --- a/monitor/misc.c +++ b/monitor/misc.c @@ -125,13 +125,12 @@ char *qmp_human_monitor_command(const char *command_line, bool has_cpu_index, monitor_data_init(&hmp.common, false, true, false); - old_mon = cur_mon; - cur_mon = &hmp.common; + old_mon = monitor_set_cur(&hmp.common); if (has_cpu_index) { int ret = monitor_set_cpu(&hmp.common, cpu_index); if (ret < 0) { - cur_mon = old_mon; + monitor_set_cur(old_mon); error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "cpu-index", "a CPU number"); goto out; @@ -139,7 +138,7 @@ char *qmp_human_monitor_command(const char *command_line, bool has_cpu_index, } handle_hmp_command(&hmp, command_line); - cur_mon = old_mon; + monitor_set_cur(old_mon); WITH_QEMU_LOCK_GUARD(&hmp.common.mon_lock) { if (qstring_get_length(hmp.common.outbuf) > 0) { @@ -297,7 +296,7 @@ static CPUState *mon_get_cpu_sync(Monitor *mon, bool synchronize) CPUState *mon_get_cpu(void) { - return mon_get_cpu_sync(cur_mon, true); + return mon_get_cpu_sync(monitor_cur(), true); } CPUArchState *mon_get_cpu_env(void) @@ -1232,6 +1231,7 @@ static void hmp_acl_remove(Monitor *mon, const QDict *qdict) void qmp_getfd(const char *fdname, Error **errp) { + Monitor *cur_mon = monitor_cur(); mon_fd_t *monfd; int fd, tmp_fd; @@ -1270,6 +1270,7 @@ void qmp_getfd(const char *fdname, Error **errp) void qmp_closefd(const char *fdname, Error **errp) { + Monitor *cur_mon = monitor_cur(); mon_fd_t *monfd; int tmp_fd; @@ -1356,7 +1357,7 @@ AddfdInfo *qmp_add_fd(bool has_fdset_id, int64_t fdset_id, bool has_opaque, const char *opaque, Error **errp) { int fd; - Monitor *mon = cur_mon; + Monitor *mon = monitor_cur(); AddfdInfo *fdinfo; fd = qemu_chr_fe_get_msgfd(&mon->chr); |