From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=54652 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PyBPI-0004Ah-B3 for qemu-devel@nongnu.org; Fri, 11 Mar 2011 18:06:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PyBPH-0006xb-BK for qemu-devel@nongnu.org; Fri, 11 Mar 2011 18:06:04 -0500 Received: from e5.ny.us.ibm.com ([32.97.182.145]:48562) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PyBPH-0006xT-8n for qemu-devel@nongnu.org; Fri, 11 Mar 2011 18:06:03 -0500 Received: from d01dlp02.pok.ibm.com (d01dlp02.pok.ibm.com [9.56.224.85]) by e5.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id p2BMf6jB011028 for ; Fri, 11 Mar 2011 17:41:06 -0500 Received: from d01relay03.pok.ibm.com (d01relay03.pok.ibm.com [9.56.227.235]) by d01dlp02.pok.ibm.com (Postfix) with ESMTP id D9D7B6E8040 for ; Fri, 11 Mar 2011 18:06:02 -0500 (EST) Received: from d01av04.pok.ibm.com (d01av04.pok.ibm.com [9.56.224.64]) by d01relay03.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p2BN620G240854 for ; Fri, 11 Mar 2011 18:06:02 -0500 Received: from d01av04.pok.ibm.com (loopback [127.0.0.1]) by d01av04.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p2BN62Bp027881 for ; Fri, 11 Mar 2011 18:06:02 -0500 From: Anthony Liguori Date: Fri, 11 Mar 2011 17:05:40 -0600 Message-Id: <1299884745-521-11-git-send-email-aliguori@us.ibm.com> In-Reply-To: <1299884745-521-1-git-send-email-aliguori@us.ibm.com> References: <1299884745-521-1-git-send-email-aliguori@us.ibm.com> Subject: [Qemu-devel] [PATCH 10/15] qapi: add QMP quit command List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Adam Litke , Anthony Liguori , Luiz Capitulino , Avi Kivity , Markus Armbruster This is needed by the test suite. Signed-off-by: Anthony Liguori diff --git a/qmp-schema.json b/qmp-schema.json index e72bc18..d19cf73 100644 --- a/qmp-schema.json +++ b/qmp-schema.json @@ -88,3 +88,15 @@ # Since: 0.14.0 ## { 'command': 'query-version', 'returns': 'VersionInfo' } + +## +# @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' } diff --git a/qmp.c b/qmp.c index 7b626f5..837ac95 100644 --- a/qmp.c +++ b/qmp.c @@ -12,6 +12,7 @@ #include "qemu-common.h" #include "qmp-core.h" #include "qmp.h" +#include "sysemu.h" VersionInfo *qmp_query_version(Error **err) { @@ -29,3 +30,8 @@ VersionInfo *qmp_query_version(Error **err) return info; } +void qmp_quit(Error **err) +{ + no_shutdown = 0; + qemu_system_shutdown_request(); +} -- 1.7.0.4