Message ID | 20210219111652.20623-1-akihiko.odaki@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] ui/cocoa: Do not exit immediately after shutdown | expand |
On Fri, Feb 19, 2021 at 08:16:52PM +0900, Akihiko Odaki wrote: > ui/cocoa used to call exit immediately after calling > qemu_system_shutdown_request, which prevents QEMU from actually > perfoming system shutdown. Just sleep forever, and wait QEMU to call > exit and kill the Cocoa thread. > > Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com> Added to UI patch queue. thanks, Gerd
diff --git a/ui/cocoa.m b/ui/cocoa.m index 13fba8103e1..cbd03667bd8 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -1121,7 +1121,13 @@ - (void)applicationWillTerminate:(NSNotification *)aNotification COCOA_DEBUG("QemuCocoaAppController: applicationWillTerminate\n"); qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_UI); - exit(0); + + /* + * Sleep here, because returning will cause OSX to kill us + * immediately; the QEMU main loop will handle the shutdown + * request and terminate the process. + */ + [NSThread sleepForTimeInterval:INFINITY]; } - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication
ui/cocoa used to call exit immediately after calling qemu_system_shutdown_request, which prevents QEMU from actually perfoming system shutdown. Just sleep forever, and wait QEMU to call exit and kill the Cocoa thread. Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com> --- ui/cocoa.m | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)