Am 03.07.2012 17:07, schrieb Fabien Chouteau: > 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(); > }
The same thing already exists in qemu_system_killed(). It could use the same new function if you added it. Or you could reuse the existing code in the ctrl-a x handler by sending SIGTERM. Kevin