ecb92aacab
Add QEventDispatcherWasm to QtCore. The event dispatcher supports managing event queue wakeups and timers, both for the main thread or for secondary threads. Blocking in processEvents() (using QEventLoop::WaitForMoreEvents) is supported when running on a secondary thread, or on the main thread when Qt is built with Emscripten’s asyncify support. Code is shared for all both modes as far as possible, with breakout functions which handle main and secondary thread as well as asyncify specifics,. Some functions like wakeUp() can be called from any thread, and needs to take the calling thread into consideration as well. The current asyncify implementation in Emscripten is restricted to one level of suspend, and this restriction carries over to Qt as well. In practice this means we support one level of exec()-like API. Note that this commit does not _enable_ use of the new event dispatcher. This will be done in separate commits. Task-number: QTBUG-76007 Task-number: QTBUG-64020 Change-Id: I77dc9ba34bcff59ef05dd23a46dbf1873cbe6780 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> |
||
---|---|---|
.. | ||
aix-g++ | ||
aix-g++-64 | ||
android-clang | ||
common | ||
cygwin-g++ | ||
darwin-g++ | ||
devices | ||
dummy | ||
features | ||
freebsd-clang | ||
freebsd-g++ | ||
haiku-g++ | ||
hpuxi-g++-64 | ||
hurd-g++ | ||
integrity-armv7 | ||
integrity-armv7-imx6 | ||
integrity-armv8-rcar | ||
integrity-x86 | ||
linux-aarch64-gnu-g++ | ||
linux-arm-gnueabi-g++ | ||
linux-clang | ||
linux-clang-32 | ||
linux-clang-libc++ | ||
linux-clang-libc++-32 | ||
linux-g++ | ||
linux-g++-32 | ||
linux-g++-64 | ||
linux-icc | ||
linux-icc-32 | ||
linux-icc-64 | ||
linux-icc-k1om | ||
linux-llvm | ||
linux-lsb-g++ | ||
lynxos-g++ | ||
macx-clang | ||
macx-g++ | ||
macx-icc | ||
macx-ios-clang | ||
macx-tvos-clang | ||
macx-watchos-clang | ||
macx-xcode | ||
modules | ||
netbsd-g++ | ||
openbsd-g++ | ||
qnx-aarch64le-qcc | ||
qnx-armle-v7-qcc | ||
qnx-x86-64-qcc | ||
qnx-x86-qcc | ||
solaris-cc | ||
solaris-cc-64 | ||
solaris-cc-64-stlport | ||
solaris-cc-stlport | ||
solaris-g++ | ||
solaris-g++-64 | ||
unsupported | ||
wasm-emscripten | ||
win32-arm64-msvc | ||
win32-clang-g++ | ||
win32-clang-msvc | ||
win32-g++ | ||
win32-icc | ||
win32-icc-k1om | ||
win32-msvc |