qapi: Convert quit

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
Luiz Capitulino 2011-09-15 14:20:28 -03:00
parent aa9b79bcd8
commit 7a7f325e05
7 changed files with 26 additions and 17 deletions

View File

@ -43,7 +43,7 @@ ETEXI
.params = "",
.help = "quit the emulator",
.user_print = monitor_user_noop,
.mhandler.cmd_new = do_quit,
.mhandler.cmd = hmp_quit,
},
STEXI

6
hmp.c
View File

@ -93,3 +93,9 @@ void hmp_info_chardev(Monitor *mon)
qapi_free_ChardevInfoList(char_info);
}
void hmp_quit(Monitor *mon, const QDict *qdict)
{
monitor_suspend(mon);
qmp_quit(NULL);
}

1
hmp.h
View File

@ -23,5 +23,6 @@ void hmp_info_kvm(Monitor *mon);
void hmp_info_status(Monitor *mon);
void hmp_info_uuid(Monitor *mon);
void hmp_info_chardev(Monitor *mon);
void hmp_quit(Monitor *mon, const QDict *qdict);
#endif

View File

@ -946,18 +946,6 @@ static void do_trace_print_events(Monitor *mon)
trace_print_events((FILE *)mon, &monitor_fprintf);
}
/**
* do_quit(): Quit QEMU execution
*/
static int do_quit(Monitor *mon, const QDict *qdict, QObject **ret_data)
{
monitor_suspend(mon);
no_shutdown = 0;
qemu_system_shutdown_request();
return 0;
}
#ifdef CONFIG_VNC
static int change_vnc_password(const char *password)
{

View File

@ -225,3 +225,14 @@
##
{ 'command': 'query-commands', 'returns': ['CommandInfo'] }
##
# @quit:
#
# This command will cause the QEMU process to exit gracefully. While every
# attempt is made to send the QMP response before terminating, this is not
# guaranteed. When using this interface, a premature EOF would not be
# unexpected.
#
# Since: 0.14.0
##
{ 'command': 'quit' }

View File

@ -63,10 +63,7 @@ EQMP
{
.name = "quit",
.args_type = "",
.params = "",
.help = "quit the emulator",
.user_print = monitor_user_noop,
.mhandler.cmd_new = do_quit,
.mhandler.cmd_new = qmp_marshal_input_quit,
},
SQMP

6
qmp.c
View File

@ -70,3 +70,9 @@ UuidInfo *qmp_query_uuid(Error **errp)
return info;
}
void qmp_quit(Error **err)
{
no_shutdown = 0;
qemu_system_shutdown_request();
}