Patchwork [v3] Prevent disk data loss when closing qemu

login
register
mail settings
Submitter Pavel Dovgaluk
Date May 29, 2012, 1:26 p.m.
Message ID <003601cd3d9e$b29838e0$17c8aaa0$@Dovgaluk@ispras.ru>
Download mbox | patch
Permalink /patch/161745/
State New
Headers show

Comments

Pavel Dovgaluk - May 29, 2012, 1:26 p.m.
Prevent disk data loss when closing qemu console window
under Windows 7.

v3. Comment for Sleep() parameter was updated.

Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@gmail.com>
---
 os-win32.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

Patch

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 period is 10000ms because Windows kills the program
+       after 10 seconds anyway. */
+    Sleep(10000);
+
     return TRUE;
 }