From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:48153) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sm4ht-0002Fx-M3 for qemu-devel@nongnu.org; Tue, 03 Jul 2012 11:08:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Sm4hh-0007ML-Tv for qemu-devel@nongnu.org; Tue, 03 Jul 2012 11:08:01 -0400 Received: from mel.act-europe.fr ([194.98.77.210]:52481) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Sm4hh-0007Ly-Nf for qemu-devel@nongnu.org; Tue, 03 Jul 2012 11:07:49 -0400 Message-ID: <4FF30AC2.9030905@adacore.com> Date: Tue, 03 Jul 2012 17:07:46 +0200 From: Fabien Chouteau MIME-Version: 1.0 References: <1341322722-32691-1-git-send-email-chouteau@adacore.com> <4FF3068A.50804@redhat.com> In-Reply-To: <4FF3068A.50804@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] Use clean shutdown request for ctrl-a x List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Peter Maydell , aliguori@us.ibm.com, qemu-devel@nongnu.org On 07/03/2012 04:49 PM, Paolo Bonzini wrote: > Il 03/07/2012 16:00, Peter Maydell ha scritto: >> I was just talking on #qemu this morning about the equivalent question >> of whether the ARM semihosting exit function ought to be doing a >> qemu_system_shutdown_request rather than a plain exit()... >> >> The interesting question for the qemu-char case is whether the code that >> feeds this magic byte to us is expecting it to have immediate effect >> or is happy to continue execution and let us shut down with a slight >> delay. > > And also whether it is supposed to obey -no-shutdown... I didn't know this option... My goal is to make ctrl-a x to close Qemu in a clean way. The current exit(0) skips a lot of cleanup/close functions, for example in block drivers. We can create a new shutdown function that will override the -no-shutdown option to keep a consistent behavior with ctrl-a x. void qemu_system_force_shutdown(void) { no_shutdown = 0; qemu_system_shutdown_request(); } -- Fabien Chouteau