Go to file
Lars Knoll d4b206b246 Split QMutex and QRecursiveMutex
These classes should not inherit from each other
anymore in Qt 6. The reason is that this makes
the 95% case of using a non-recursive mutex
much slower than it has to be.

This way, QMutex can now inline the fast path
and be pretty much as fast as QBasicMutex is
in Qt 5. They actually use the same code paths
now. The main difference is that QMutex allows
calling tryLock() with a timeout, which that
is not allowed for QBasicMutex.

[ChangeLog][QtCore][QMutex] QMutex does not support
recursive locking anymore. Use QRecursiveMutex for that
purpose. QRecursiveMutex does not inherit QMutex anymore
in Qt 6.

Change-Id: I10f9bab6269a9181a2e9f534fb72ce65bc76d989
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-10-17 12:02:56 +02:00
.github/workflows GitHub Actions: Fix workflow file 2020-09-11 13:37:48 +02:00
bin Streamline the template specialization of QESDP's dtor 2020-10-05 10:16:52 +02:00
cmake cmake: Fix logic for adding staticlib to module pri 2020-10-16 23:59:28 +02:00
coin Set MSVC environment script specifically for MSVC 2020-10-01 22:54:22 +03:00
config.tests CMake: Skip regeneration of manual compile test project 2020-04-09 11:26:46 +02:00
dist Remove last remainings of Qt Quick 1 imports 2020-05-25 11:48:12 +02:00
doc Add Qt Marketplace link as an external page 2020-10-12 13:00:43 +02:00
examples Brush up the basicsortfiltermodel example 2020-10-14 20:35:16 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs iOS: Remove dead code for linking to platform plugin 2020-10-16 23:59:28 +02:00
qmake qmake: Fix qHash-related integer conversion warnings 2020-10-17 11:56:59 +02:00
src Split QMutex and QRecursiveMutex 2020-10-17 12:02:56 +02:00
tests Split QMutex and QRecursiveMutex 2020-10-17 12:02:56 +02:00
util pro2cmake: GitIgnore .pro2cmake_cache 2020-10-16 14:53:02 +03:00
.cmake.conf pro2cmake.py: Generate .cmake.conf files for versioning 2020-04-30 17:44:03 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02: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 CMake: Introduce CMake-only optimize_full feature 2020-10-06 10:07:08 +02:00
.prev_qt_cmdline.cmake CMake: Regenerate configure.cmake files 2020-09-28 15:48:17 +02:00
.qmake.conf Bump version 2020-02-02 13:41:14 +01:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt CMake: Fix building examples targeting iOS simulator with qmake 2020-10-16 13:53:04 +02:00
config_help.txt CMake Build: Add support for -qtlibinfix configure parameter 2020-09-23 17:31:13 +02:00
configure configure: add -qmake argument 2020-10-01 14:34:05 +02:00
configure.bat configure: add -qmake argument 2020-10-01 14:34:05 +02:00
configure.cmake CMake: Allow Debug-only iOS builds 2020-10-16 13:53:03 +02:00
configure.json By default don't try to use pkg-config when targeting Android 2020-09-28 15:48:17 +02:00
configure.pri Android: allow setting javac build version from the configure script 2020-09-16 20:55:08 +03:00
dependencies.yaml Re-add dependencies.yaml so repos outside qt5 can be built with Coin 2019-09-19 17:07:36 +00:00
INSTALL INSTALL: Remove outdated reference to Windows CE 2019-02-13 13:01:57 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
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: Fix the -sanitize configure option 2020-10-12 13:57:56 +02:00
qtbase.pro Update qmake before building src 2020-08-19 18:25:51 +02:00
sync.profile Remove last remaining bits of QtPlatformHeaders 2020-08-04 07:12:32 +02:00