[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 0/7] ui/cocoa: Use OSX's main loop
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH v3 0/7] ui/cocoa: Use OSX's main loop |
Date: |
Mon, 25 Feb 2019 10:24:26 +0000 |
This set of patches rearranges how we handle events on
the OSX Cocoa UI so that we use the main thread to run
the OSX event loop, and we don't do a long blocking
operation from the applicationDidFinishLaunching callback.
Instead we create a second thread which runs qemu_main()
and becomes the QEMU main-loop thread. The callbacks from
QEMU into the cocoa code asynchronously dispatch their
work to the main thread, and the main thread takes the
iothread lock before calling into QEMU code.
The changes from v2 to v3 are all minor, and all patches
have now had review/test; I plan to apply this to master
towards the end of the week, absent any further review
comments.
* patch 1: add with_iothread_lock wrap to qmp_stop/qmp_cont calls
* patch 5: remove stray whitespace
* patch 7: remove unnecessary null check on cocoaView
* patch 7: make semaphore variables file-local
* patch 7: deref pixman_image in dealloc
thanks
-- PMM
Peter Maydell (7):
ui/cocoa: Ensure we have the iothread lock when calling into QEMU
ui/cocoa: Use the pixman image directly in switchSurface
ui/cocoa: Factor out initial menu creation
ui/cocoa: Move console/device menu creation code up in file
ui/cocoa: Don't call NSApp sendEvent directly from handleEvent
ui/cocoa: Subclass NSApplication so we can implement sendEvent
ui/cocoa: Perform UI operations only on the main thread
ui/cocoa.m | 495 ++++++++++++++++++++++++++++++++---------------------
1 file changed, 303 insertions(+), 192 deletions(-)
--
2.17.2 (Apple Git-113)
- [Qemu-devel] [PATCH v3 0/7] ui/cocoa: Use OSX's main loop,
Peter Maydell <=
- [Qemu-devel] [PATCH v3 3/7] ui/cocoa: Factor out initial menu creation, Peter Maydell, 2019/02/25
- [Qemu-devel] [PATCH v3 1/7] ui/cocoa: Ensure we have the iothread lock when calling into QEMU, Peter Maydell, 2019/02/25
- [Qemu-devel] [PATCH v3 2/7] ui/cocoa: Use the pixman image directly in switchSurface, Peter Maydell, 2019/02/25
- [Qemu-devel] [PATCH v3 4/7] ui/cocoa: Move console/device menu creation code up in file, Peter Maydell, 2019/02/25
- [Qemu-devel] [PATCH v3 7/7] ui/cocoa: Perform UI operations only on the main thread, Peter Maydell, 2019/02/25
- [Qemu-devel] [PATCH v3 6/7] ui/cocoa: Subclass NSApplication so we can implement sendEvent, Peter Maydell, 2019/02/25
- [Qemu-devel] [PATCH v3 5/7] ui/cocoa: Don't call NSApp sendEvent directly from handleEvent, Peter Maydell, 2019/02/25
- Re: [Qemu-devel] [PATCH v3 0/7] ui/cocoa: Use OSX's main loop, Peter Maydell, 2019/02/25