[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1 06/24] monitor: Extract qmp_human_monitor_command
From: |
Benoît Canet |
Subject: |
[Qemu-devel] [PATCH v1 06/24] monitor: Extract qmp_human_monitor_command into monitor-system.c |
Date: |
Fri, 1 Aug 2014 07:27:04 +0200 |
Signed-off-by: Benoit Canet <address@hidden>
---
monitor-system.c | 43 +++++++++++++++++++++++++++++++++++++++++++
monitor.c | 44 --------------------------------------------
2 files changed, 43 insertions(+), 44 deletions(-)
diff --git a/monitor-system.c b/monitor-system.c
index 51ca21f..90758db 100644
--- a/monitor-system.c
+++ b/monitor-system.c
@@ -67,3 +67,46 @@ int GCC_FMT_ATTR(2, 3) monitor_fprintf(FILE *stream,
return 0;
}
+static void monitor_data_destroy(Monitor *mon)
+{
+ QDECREF(mon->outbuf);
+ qemu_mutex_destroy(&mon->out_lock);
+}
+
+char *qmp_human_monitor_command(const char *command_line, bool has_cpu_index,
+ int64_t cpu_index, Error **errp)
+{
+ char *output = NULL;
+ Monitor *old_mon, hmp;
+
+ monitor_data_init(&hmp);
+ hmp.skip_flush = true;
+
+ old_mon = cur_mon;
+ cur_mon = &hmp;
+
+ if (has_cpu_index) {
+ int ret = monitor_set_cpu(cpu_index);
+ if (ret < 0) {
+ cur_mon = old_mon;
+ error_set(errp, QERR_INVALID_PARAMETER_VALUE, "cpu-index",
+ "a CPU number");
+ goto out;
+ }
+ }
+
+ handle_user_command(&hmp, command_line);
+ cur_mon = old_mon;
+
+ qemu_mutex_lock(&hmp.out_lock);
+ if (qstring_get_length(hmp.outbuf) > 0) {
+ output = g_strdup(qstring_get_str(hmp.outbuf));
+ } else {
+ output = g_strdup("");
+ }
+ qemu_mutex_unlock(&hmp.out_lock);
+
+out:
+ monitor_data_destroy(&hmp);
+ return output;
+}
diff --git a/monitor.c b/monitor.c
index a31d1d0..30d8eda 100644
--- a/monitor.c
+++ b/monitor.c
@@ -551,50 +551,6 @@ void monitor_data_init(Monitor *mon)
mon->cmd_table = mon_cmds;
}
-static void monitor_data_destroy(Monitor *mon)
-{
- QDECREF(mon->outbuf);
- qemu_mutex_destroy(&mon->out_lock);
-}
-
-char *qmp_human_monitor_command(const char *command_line, bool has_cpu_index,
- int64_t cpu_index, Error **errp)
-{
- char *output = NULL;
- Monitor *old_mon, hmp;
-
- monitor_data_init(&hmp);
- hmp.skip_flush = true;
-
- old_mon = cur_mon;
- cur_mon = &hmp;
-
- if (has_cpu_index) {
- int ret = monitor_set_cpu(cpu_index);
- if (ret < 0) {
- cur_mon = old_mon;
- error_set(errp, QERR_INVALID_PARAMETER_VALUE, "cpu-index",
- "a CPU number");
- goto out;
- }
- }
-
- handle_user_command(&hmp, command_line);
- cur_mon = old_mon;
-
- qemu_mutex_lock(&hmp.out_lock);
- if (qstring_get_length(hmp.outbuf) > 0) {
- output = g_strdup(qstring_get_str(hmp.outbuf));
- } else {
- output = g_strdup("");
- }
- qemu_mutex_unlock(&hmp.out_lock);
-
-out:
- monitor_data_destroy(&hmp);
- return output;
-}
-
int compare_cmd(const char *name, const char *list)
{
const char *p, *pstart;
--
2.0.1
- [Qemu-devel] [PATCH v1 00/24] Extract qmp.c and monitor.c core and wire QMP into qemu-nbd, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 02/24] monitor: Make some function public, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 03/24] monitor: Extract monitor-system.h header, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 04/24] monitor: Make monitor_fprintf public before extracting it, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 09/24] monitor: Make do_info_help public, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 01/24] qmp: Extract system emulation related code from qmp.c into qmp-system.c, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 06/24] monitor: Extract qmp_human_monitor_command into monitor-system.c,
Benoît Canet <=
- [Qemu-devel] [PATCH v1 13/24] monitor: Move do_loadvm from monitor.c to monitor-system.c, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 08/24] monitor: Extract a couple of function to monitor-system.c, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 05/24] monitor: Extract monitor_fprintf to monitor-system.c, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 22/24] qemu-nbd: build QAPI block core into qemu-nbd, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 16/24] monitor: Move more functions from monitor.c to monitor-system.c, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 07/24] monitor: Make some function to extract public, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 12/24] monitor: Make do_loadvm public before moving it to monitor-system.c, Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 23/24] qapi: Add a script to filter qmp-commands-old.h to generate a subset of it., Benoît Canet, 2014/08/01
- [Qemu-devel] [PATCH v1 24/24] qemu-nbd: Add --qmp option to qemu-nbd., Benoît Canet, 2014/08/01