diff options
author | Pavel Dovgaluk <Pavel.Dovgaluk@ispras.ru> | 2012-05-30 10:08:04 +0400 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2012-06-15 14:03:42 +0200 |
commit | b75a02829dde98723dfe16fa098338cb267b28b9 (patch) | |
tree | 2ff2efe88db5c273ba84454d99b3a366eab8f754 /os-win32.c | |
parent | 79d21d5b8d986051169cc44557750bfc640559b1 (diff) | |
download | qemu-b75a02829dde98723dfe16fa098338cb267b28b9.tar.gz qemu-b75a02829dde98723dfe16fa098338cb267b28b9.tar.bz2 qemu-b75a02829dde98723dfe16fa098338cb267b28b9.zip |
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>
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; } |