aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Dovgaluk <Pavel.Dovgaluk@ispras.ru>2012-05-30 10:08:04 +0400
committerMichael Roth <mdroth@linux.vnet.ibm.com>2012-06-25 08:55:33 -0500
commitee7735fa639c43ccb3746d84609332e48e22479f (patch)
treea1a949ff1a32639ea3f3246be044daa6703e2939
parent02fe741375d4993b3d6870ff6466cc775b409ba1 (diff)
Prevent disk data loss when closing qemu
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> Signed-off-by: Kevin Wolf <kwolf@redhat.com> (cherry picked from commit b75a02829dde98723dfe16fa098338cb267b28b9) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--os-win32.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/os-win32.c b/os-win32.c
index ad76370c7..13892ba32 100644
--- a/os-win32.c
+++ b/os-win32.c
@@ -57,7 +57,13 @@ 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;
}