Go to file
Mårten Nordheim 587e3bb0ba QSemaphore: fix missed wakes with futex on Windows
We do this by making the 'futexNeedsWakeAllBit' to be part of both the
expectedValue and the pointer we're waiting on.
This makes sense since having the 'futexNeedsWakeAllBit' set is a
requirement for starting a sleep. Thus we should condition
sleeping on whether or not another thread unset it.

Since the futexNeedsWakeAllBit is in the "topmost" bit of the pointer we
wait on we'll need to use the full 64-bits on 64-bit platforms.

This isn't enabled (nor was it an issue) for configurations with
'futexHasWaiterCount' since that works differently, and waits for the
high 32 bits.

Fixes: QTBUG-92148
Change-Id: I424c605f0120ea5e647c5bb19b00ff35eaf1608a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-04-07 13:35:10 +02:00
.github/workflows Github Actions: many minor updates 2021-01-22 18:48:54 +01:00
bin Add reference to CMake issue in qt-cmake-private-install-cmake.in 2021-03-31 15:32:30 +02:00
cmake CMake: Build minimal subset of tests in desktop static builds 2021-04-06 09:15:37 +01:00
coin CMake: Build minimal subset of tests in desktop static builds 2021-04-06 09:15:37 +01:00
config.tests Remove the qmake project files 2021-01-07 15:32:28 +01:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Offline documentation CSS: Remove external link icon from video links 2021-02-19 08:49:12 +00:00
examples standarddialogs example: Fix font handling 2021-04-07 08:27:21 +02:00
lib
libexec Move bin/qt-internal-configure-tests to libexec 2021-03-30 14:39:12 +01:00
mkspecs wasm: add cmake build support 2021-04-01 19:23:42 +10:00
qmake Add a way to install versioned hard-links for tools 2021-03-25 16:31:39 +01:00
src QSemaphore: fix missed wakes with futex on Windows 2021-04-07 13:35:10 +02:00
tests Fix get out of bounds index in QSortFilterProxyModel::filterAcceptsRow 2021-04-07 19:30:08 +08:00
util Fix backtrace on non-linux systems 2021-03-22 21:31:09 +00:00
.cmake.conf Bump version 2021-02-18 07:20:21 +02:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore .gitignore: Qt Creator files cleanup 2020-09-25 07:50:15 +02:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.prev_configure.cmake wasm: add cmake build support 2021-04-01 19:23:42 +10:00
.prev_qt_cmdline.cmake CMake: Regenerate configure.cmake files 2020-09-28 15:48:17 +02:00
.qmake.conf Bump version 2021-02-18 07:20:21 +02:00
.tag
CMakeLists.txt wasm: add cmake build support 2021-04-01 19:23:42 +10:00
config_help.txt CMake: Build minimal subset of tests in desktop static builds 2021-04-06 09:15:37 +01:00
configure Remove the -qmake and -cmake configure arguments 2021-03-11 16:39:50 +01:00
configure.bat Remove superfluous variable assignments from configure.bat 2021-03-11 16:39:54 +01:00
configure.cmake CMake: Fix building multi-arch universal macOS Qt 2021-04-01 18:14:59 +02:00
configure.json wasm: add cmake build support 2021-04-01 19:23:42 +10:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
INSTALL INSTALL: Remove outdated reference to Windows CE 2019-02-13 13:01:57 +00:00
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 Update enterprise license agreement v4.2.1 2019-12-18 13:07:19 +02:00
qt_cmdline.cmake CMake: Build minimal subset of tests in desktop static builds 2021-04-06 09:15:37 +01:00
sync.profile Generate QUtf8StringView header file from qutf8stringview.h 2020-11-07 08:35:11 +00:00