qt5base-lts/src
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
..
3rdparty sqlite: Upgrade to 3.33.0 2020-10-17 08:21:52 +02:00
android Android: rename Android's package name for Qt 6 2020-10-03 11:22:35 +03:00
concurrent Simplify implementations of QtConcurrent::blocking* methods 2020-10-14 21:24:31 +02:00
corelib Split QMutex and QRecursiveMutex 2020-10-17 12:02:56 +02:00
dbus Port some more /*implicit*/-like comments to Q_IMPLICIT 2020-10-16 01:07:31 +02:00
gui QWindowSystemInterface: Add tablet event overloads without timestamps 2020-10-17 11:56:41 +02:00
network Refactor QMutexLocker to be able to handle recursive mutexes 2020-10-17 12:02:49 +02:00
opengl Remove methods that shouldn't be in the OpenGL wrappers 2020-10-07 13:54:06 +02:00
openglwidgets CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
platformsupport Another round of replacing 0 with nullptr 2020-10-07 23:02:47 +02:00
plugins Fix the initial cursor state for the VNC plugin 2020-10-17 12:02:24 +02:00
printsupport QWindowsPrintDevice: Fix signedness warnings 2020-09-24 14:22:57 +02:00
sql Cleanup remaining QVariant::Type uses in Qt Sql 2020-10-17 12:01:54 +02:00
testlib Another round of replacing 0 with nullptr 2020-10-07 23:02:47 +02:00
tools Split QMutex and QRecursiveMutex 2020-10-17 12:02:56 +02:00
widgets Fix Clang compiler warnings (-Wrange-loop-analysis) 2020-10-17 11:56:30 +02:00
winmain CMake: Refactor optimization flag handling and add optimize_full 2020-10-06 10:07:05 +02:00
xml Remove dead code 2020-10-12 14:49:50 +02:00
CMakeLists.txt CMake: Fix building with -DQT_FEATURE_gui=OFF 2020-09-15 20:05:32 +02:00
src.pro Doc: Compile snippets only when running tests 2020-09-10 18:26:43 +02:00