Il sab 16 lug 2022, 13:30 Akihiko Odaki <akihiko.od...@gmail.com> ha scritto:
> On 2022/07/16 19:16, Paolo Bonzini wrote: > > On 7/15/22 15:47, Akihiko Odaki wrote: > >> static void *call_qemu_main(void *opaque) > >> { > >> ... > >> + [NSApp terminate:nil]; > > Is this thread-safe? I think it should be something like: > > Yes, -[NSApplication terminate:] is thread-safe. Methods of > NSApplication handle dispatches to the main thread by themselves. > Is this documented anywhere? Paolo Regards, > Akihiko Odaki > > > > > - here: > > > > /* > > * Nothing more to do in the QEMU thread, ask the application > > * to exit. > > */ > > dispatch_async(dispatch_get_main_queue(), ^{ > > [NSApp terminate: nil]; > > }); > > > > - in verifyQuit: > > > > if([alert runModal] == NSAlertSecondButtonReturn) { > > with_iothread_lock(^{ > > shutdown_action = SHUTDOWN_ACTION_POWEROFF; > > qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_UI); > > }); > > } > > /* and just return void */ > > > > - applicationShouldTerminate: should be just > > > > if (qatomic_read(&qemu_main_terminating)) { > > return NSTerminateNow; > > } else { > > dispatch_async(dispatch_get_main_queue(), ^{ > > [self verifyQuit]; > > }); > > } > > return NSTerminateCancel; > > > > - applicationWillTerminate: can be just the qemu_thread_join > > > > Paolo > >