qt5base-lts/mkspecs
Morten Johan Sørvig ecb92aacab wasm: add new event dispatcher implementation
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>
2021-08-27 15:45:25 +02:00
..
aix-g++
aix-g++-64
android-clang Change android target SDK version to 29 2020-11-26 20:05:41 +01:00
common qmake: Add support for C17/C18 2021-08-26 18:32:44 +02:00
cygwin-g++
darwin-g++
devices Check QMake support for building apps on INTEGRITY 2021-08-26 19:32:44 +03:00
dummy
features qmake: Add support for C17/C18 2021-08-26 18:32:44 +02:00
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 Bump Apple platform minimum versions 2021-03-10 23:39:45 +01:00
macx-tvos-clang Bump Apple platform minimum versions 2021-03-10 23:39:45 +01:00
macx-watchos-clang Bump Apple platform minimum versions 2021-03-10 23:39:45 +01:00
macx-xcode qmake: Switch to using Xcode's new build system 2021-06-08 17:28:47 +02:00
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 Cleanup leftover QWS 2021-04-14 13:00:12 +09:00
wasm-emscripten wasm: add new event dispatcher implementation 2021-08-27 15:45:25 +02:00
win32-arm64-msvc
win32-clang-g++
win32-clang-msvc
win32-g++
win32-icc
win32-icc-k1om
win32-msvc