diff options
author | Pavel Dovgaluk <Pavel.Dovgaluk@ispras.ru> | 2012-05-30 10:08:04 +0400 |
---|---|---|
committer | Michael Roth <mdroth@linux.vnet.ibm.com> | 2012-06-25 08:55:33 -0500 |
commit | ee7735fa639c43ccb3746d84609332e48e22479f (patch) | |
tree | a1a949ff1a32639ea3f3246be044daa6703e2939 /os-win32.c | |
parent | 02fe741375d4993b3d6870ff6466cc775b409ba1 (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>
Diffstat (limited to 'os-win32.c')
-rw-r--r-- | os-win32.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/os-win32.c b/os-win32.c index ad76370c7c..13892ba320 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; } |