Go to file
Gatis Paeglis 243c3044b6 xcb: lock-free event processing
For details how this works refer to the documentation in the patch.

The follow-up patches will switch to calling processXcbEvents() on every
event loop iteration. With the existing code that would mean frequent
locking of shared data (event queue). Acquiring a lock is fast, but
lock contention isn't. To avoid potential problems, reimplement xcb event
processing to be lock-free. Besides theoretical performance benefits,
this definitally improves code readability in qxcbconnection.cpp. Thanks
to Mikhail Svetkin for questioning the design of the existing code.

Done-with: Mikhail Svetkin <mikhail.svetkin@qt.io>
Change-Id: I935f2b6ca802580f5c80205aef7b2f9afc172d26
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-14 18:38:24 +00:00
bin syncqt: fix forwarding injected headers, take ~3 2018-09-12 06:53:02 +00:00
config.tests AVX512 test: an intrinsic that GCC forgot to implement prior to GCC8 2018-09-15 20:55:25 +00:00
dist add buildsystem+qmake changelog 2018-09-13 04:25:10 +00:00
doc Doc: Add a macro that expands to the Qt version (Major.Minor) 2018-09-25 16:39:23 +00:00
examples Fix builds without DTLS 2018-10-09 13:14:42 +00:00
lib
mkspecs Android: fix compile with NDK r18+ 2018-10-12 18:06:38 +00:00
qmake qmake: fix the precedence of QMAKE_LIBDIR_POST 2018-10-12 18:06:49 +00:00
src xcb: lock-free event processing 2018-10-14 18:38:24 +00:00
tests Update ANGLE to chromium/3280 2018-10-13 21:36:35 +00:00
util WebAssembly for QtBase 2018-08-30 06:48:33 +00:00
.gitattributes
.gitignore gitignore: don't ignore Info.plist templates for libraries 2017-11-23 07:07:48 +00:00
.qmake.conf Bump version 2018-06-01 10:37:15 +00:00
.tag
config_help.txt Make the use of -fdata-sections and --gc-sections more generic in Qt 2018-04-27 06:47:35 +00:00
configure configure: Treat win32-clang-g++ the same as win32-g++ 2018-10-10 04:10:40 +00:00
configure.bat configure: Prefer cl.exe over clang-cl.exe 2018-01-04 21:22:42 +00:00
configure.json wasm: rewrite QNetworkReplyWasmImpl to remove EM_ASM 2018-10-09 20:44:24 +00:00
configure.pri Report compiler and version in configure overview 2018-10-12 13:24:19 +00:00
header.BSD Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.FDL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL-EXCEPT Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3-COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-NOGPL2 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-ONLY Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.MIT qsimd: add support for new x86 CPU features 2018-05-05 06:20:07 +00:00
INSTALL
LICENSE.FDL
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Remove LICENSE.GPLv3, LICENSE.LGPLv21, LGPL_EXCEPTION.txt 2018-04-16 11:02:14 +00:00
LICENSE.QT-LICENSE-AGREEMENT-4.0 Replace commercial preview license with Qt License Agreement 4.0 2018-06-21 11:39:15 +00:00
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile Testlib: Rename qtest_global.h to qttestglobal.h 2018-03-21 10:31:01 +00:00