qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/7] ui/cocoa: Use OSX's main loop
@ 2019-02-25 10:24 Peter Maydell
  2019-02-25 10:24 ` [Qemu-devel] [PATCH v3 1/7] ui/cocoa: Ensure we have the iothread lock when calling into QEMU Peter Maydell
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Peter Maydell @ 2019-02-25 10:24 UTC (permalink / raw)
  To: qemu-devel
  Cc: patches, Roman Bolshakov, BALATON Zoltan, John Arbuckle,
	Berkus Decker, Gerd Hoffmann, Ben Hekster

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)

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-03-01  9:47 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-25 10:24 [Qemu-devel] [PATCH v3 0/7] ui/cocoa: Use OSX's main loop Peter Maydell
2019-02-25 10:24 ` [Qemu-devel] [PATCH v3 1/7] ui/cocoa: Ensure we have the iothread lock when calling into QEMU Peter Maydell
2019-02-28 21:53   ` G 3
2019-03-01  9:47     ` Peter Maydell
2019-02-25 10:24 ` [Qemu-devel] [PATCH v3 2/7] ui/cocoa: Use the pixman image directly in switchSurface Peter Maydell
2019-02-25 10:24 ` [Qemu-devel] [PATCH v3 3/7] ui/cocoa: Factor out initial menu creation Peter Maydell
2019-02-25 10:24 ` [Qemu-devel] [PATCH v3 4/7] ui/cocoa: Move console/device menu creation code up in file Peter Maydell
2019-02-25 10:24 ` [Qemu-devel] [PATCH v3 5/7] ui/cocoa: Don't call NSApp sendEvent directly from handleEvent Peter Maydell
2019-02-25 10:24 ` [Qemu-devel] [PATCH v3 6/7] ui/cocoa: Subclass NSApplication so we can implement sendEvent Peter Maydell
2019-02-25 10:24 ` [Qemu-devel] [PATCH v3 7/7] ui/cocoa: Perform UI operations only on the main thread Peter Maydell
2019-02-28 22:35   ` G 3
2019-02-25 10:28 ` [Qemu-devel] [PATCH v3 0/7] ui/cocoa: Use OSX's main loop Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).