qemu-e2k/docs/devel
Akihiko Odaki bab6a301c5 ui/cocoa: Run qemu_init in the main thread
This work is based on:
https://patchew.org/QEMU/20220317125534.38706-1-philippe.mathieu.daude@gmail.com/

Simplify the initialization dance by running qemu_init() in the main
thread before the Cocoa event loop starts. The secondary thread only
runs only qemu_main_loop() and qemu_cleanup().

This fixes a case where addRemovableDevicesMenuItems() calls
qmp_query_block() while expecting the main thread to still hold
the BQL.

Overriding the code after calling qemu_init() is done by dynamically
replacing a function pointer variable, qemu_main when initializing
ui/cocoa, which unifies the static implementation of main() for
builds with ui/cocoa and ones without ui/cocoa.

Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Message-Id: <20220819132756.74641-2-akihiko.odaki@gmail.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2022-09-23 14:36:33 +02:00
..
atomics.rst
bitops.rst
blkdebug.txt
blkverify.txt
block-coroutine-wrapper.rst
build-system.rst configure: improve error for ucontext coroutine backend 2022-09-01 07:42:37 +02:00
ci-definitions.rst.inc
ci-jobs.rst.inc docs/devel: clean-up the CI links in the docs 2022-06-01 18:55:04 +01:00
ci-runners.rst.inc
ci.rst docs/devel: clean-up the CI links in the docs 2022-06-01 18:55:04 +01:00
clocks.rst
code-of-conduct.rst
conflict-resolution.rst
control-flow-integrity.rst
decodetree.rst
ebpf_rss.rst
fuzzing.rst ui/cocoa: Run qemu_init in the main thread 2022-09-23 14:36:33 +02:00
index-api.rst docs/devel: drop :hidden: and :includehidden: tags 2022-04-20 16:04:20 +01:00
index-build.rst docs/devel: drop :hidden: and :includehidden: tags 2022-04-20 16:04:20 +01:00
index-internals.rst docs/devel: start documenting writing VirtIO devices 2022-05-16 04:38:40 -04:00
index-process.rst docs/devel: drop :hidden: and :includehidden: tags 2022-04-20 16:04:20 +01:00
index-tcg.rst docs: convert docs/devel/replay page to rst 2022-06-06 09:26:53 +02:00
index.rst docs/devel: drop :hidden: and :includehidden: tags 2022-04-20 16:04:20 +01:00
kconfig.rst * More Meson conversions (0.59.x now required rather than suggested) 2022-02-21 17:24:05 +00:00
loads-stores.rst Replace TARGET_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
lockcnt.txt
memory.rst docs/devel: add some clarifying text for aliases 2022-01-18 12:56:29 +01:00
migration.rst migration: Remove load_state_old and minimum_version_id_old 2022-03-02 18:20:45 +00:00
modules.rst
multi-process.rst docs: Render binary names as monospaced text 2021-11-22 15:02:38 +01:00
multi-thread-tcg.rst
multiple-iothreads.txt
qapi-code-gen.rst docs/devel/qapi-code-gen: Belatedly document feature naming rules 2022-05-16 07:29:50 +02:00
qgraph.rst
qom.rst misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
qtest.rst tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
rcu.txt
replay.rst docs: move replay docs to docs/system/replay.rst 2022-06-06 09:26:54 +02:00
reset.rst
s390-dasd-ipl.rst
secure-coding-practices.rst
stable-process.rst
style.rst doc/style: CLang -> Clang 2022-04-21 17:03:51 +04:00
submitting-a-patch.rst Replace 'whitelist' with 'allow' 2022-07-18 20:24:36 +02:00
submitting-a-pull-request.rst
tcg-icount.rst
tcg-plugins.rst docs/tcg-plugins: document QEMU_PLUGIN behaviour 2022-03-23 10:38:09 +00:00
tcg.rst
testing.rst tests/docker: remove the Debian base images 2022-09-20 17:22:08 +01:00
tracing.rst docs: trace-events-all is installed without renaming 2022-04-21 17:03:51 +04:00
trivial-patches.rst
ui.rst
vfio-migration.rst
virtio-backends.rst docs/devel: start documenting writing VirtIO devices 2022-05-16 04:38:40 -04:00
virtio-migration.txt
writing-monitor-commands.rst docs/devel/writing-monitor-commands: Replace obsolete STEXI/ETEXI tags 2022-05-09 08:21:14 +02:00