On 07/04/2012 12:32 PM, Kevin Wolf wrote: > Am 04.07.2012 12:27, schrieb Fabien Chouteau: >> On 07/04/2012 12:07 PM, Kevin Wolf wrote: >>> 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. >>> >> >> This function will change the behavior of ctrl-a x by printing "qemu: >> terminating on signal 0". > > True (on signal 15 actually if you send SIGTERM). So using a new > qemu_system_force_shutdown() in both places is fine with me. >
OK, patch on the way... Thanks, -- Fabien Chouteau