* [Qemu-devel] [PATCH v2] Prevent disk data loss when closing qemu
@ 2012-05-24 7:42 Pavel Dovgaluk
2012-05-24 12:49 ` Andreas Färber
0 siblings, 1 reply; 3+ messages in thread
From: Pavel Dovgaluk @ 2012-05-24 7:42 UTC (permalink / raw)
To: 'qemu-devel'
Prevent disk data loss when closing qemu console window
under Windows 7.
Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@gmail.com>
---
os-win32.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/os-win32.c b/os-win32.c
index ad76370..66c39b8 100644
--- a/os-win32.c
+++ b/os-win32.c
@@ -57,7 +57,11 @@ int setenv(const char *name, const char *value, int overwrite)
static BOOL WINAPI qemu_ctrl_handler(DWORD type)
{
- exit(STATUS_CONTROL_C_EXIT);
+ qemu_system_shutdown_request();
+ /* Windows 7 kills application when the function returns.
+ Sleep here to give QEMU a try for closing */
+ Sleep(10000);
+
return TRUE;
}
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v2] Prevent disk data loss when closing qemu
2012-05-24 7:42 [Qemu-devel] [PATCH v2] Prevent disk data loss when closing qemu Pavel Dovgaluk
@ 2012-05-24 12:49 ` Andreas Färber
2012-05-24 13:46 ` Paolo Bonzini
0 siblings, 1 reply; 3+ messages in thread
From: Andreas Färber @ 2012-05-24 12:49 UTC (permalink / raw)
To: Pavel Dovgaluk, Paolo Bonzini; +Cc: 'qemu-devel', Anthony Liguori
Am 24.05.2012 09:42, schrieb Pavel Dovgaluk:
> Prevent disk data loss when closing qemu console window
> under Windows 7.
>
> Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@gmail.com>
> ---
> os-win32.c | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/os-win32.c b/os-win32.c
> index ad76370..66c39b8 100644
> --- a/os-win32.c
> +++ b/os-win32.c
> @@ -57,7 +57,11 @@ int setenv(const char *name, const char *value, int overwrite)
>
> static BOOL WINAPI qemu_ctrl_handler(DWORD type)
> {
> - exit(STATUS_CONTROL_C_EXIT);
> + qemu_system_shutdown_request();
> + /* Windows 7 kills application when the function returns.
> + Sleep here to give QEMU a try for closing */
> + Sleep(10000);
How do we know that 10000 is enough? Shouldn't we rather block until
receipt of some completion signal?
Andreas
> +
> return TRUE;
> }
>
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v2] Prevent disk data loss when closing qemu
2012-05-24 12:49 ` Andreas Färber
@ 2012-05-24 13:46 ` Paolo Bonzini
0 siblings, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2012-05-24 13:46 UTC (permalink / raw)
To: Andreas Färber; +Cc: Anthony Liguori, 'qemu-devel', Pavel Dovgaluk
Il 24/05/2012 14:49, Andreas Färber ha scritto:
>> > - exit(STATUS_CONTROL_C_EXIT);
>> > + qemu_system_shutdown_request();
>> > + /* Windows 7 kills application when the function returns.
>> > + Sleep here to give QEMU a try for closing */
>> > + Sleep(10000);
> How do we know that 10000 is enough? Shouldn't we rather block until
> receipt of some completion signal?
After 10s Windows will kill us anyway. Think of it as SIGTERM/SIGKILL.
Using a completion signal would be more polite (the QEMU process would
disappear as soon as possible), but the outcome would be the same.
Paolo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-05-24 13:47 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-24 7:42 [Qemu-devel] [PATCH v2] Prevent disk data loss when closing qemu Pavel Dovgaluk
2012-05-24 12:49 ` Andreas Färber
2012-05-24 13:46 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).