Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Thiago Macieira 276fa8383a QLibrary: fix deadlock caused by fix to QTBUG-39642
Commit ae6f73e856 inserted a mutex around
the entire load_sys(). We had reasoed that deadlocks would only occur if
the object creation in instance() recursed into its own instance(),
which was already a bug. But we had forgotten that dlopen()/
LoadLibrary() executes initialization code from the module being loaded,
which could cause a recursion back into the same QPluginLoader or
QLibrary object. This recursion is benign because the module *is* loaded
and dlopen()/LoadLibrary() returns the same handle.

[ChangeLog][QtCore][QLibrary and QPluginLoader] Fixed a deadlock that
would happen if the plugin or library being loaded has load-time
initialization code (C++ global variables) that recursed back into the
same QLibrary or QPluginLoader object.

PS: QLibraryPrivate::loadPlugin() updates pluginState outside a mutex
lock, so pluginState should be made an atomic variable. Once that is
done, we'll only need locking the mutex to update errorString (no
locking before loading).

Fixes: QTBUG-83207
Task-number: QTBUG-39642
Change-Id: Ibdc95e9af7bd456a94ecfffd160209304e5ab2eb
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
2020-04-06 13:27:05 +00:00
bin Merge remote-tracking branch 'origin/5.13' into 5.14 2019-11-13 07:21:33 +01:00
config.tests wasm: fix arch detect on windows with WASM_OBJECT_FILES 2019-10-14 17:40:41 +10:00
dist Add changes file for Qt 5.14.2 2020-03-17 06:16:25 +01:00
doc Doc: Fix copy-paste error in QOpenGLTexture::Target docs 2020-01-28 18:42:58 +01:00
examples examples: Fix build for configurations that do not have printsupport 2020-03-05 15:11:36 +01:00
lib
mkspecs Fix linking of header only Qt5Zlib for cmake static builds 2020-04-06 10:37:50 +02:00
qmake Windows: Add install/uninstall rules for target.targets 2020-02-14 15:03:10 +00:00
src QLibrary: fix deadlock caused by fix to QTBUG-39642 2020-04-06 13:27:05 +00:00
tests Try to stabilize flaky test cases of tst_qsequentialanimationgroup 2020-04-05 16:31:51 +00:00
util Enable system locale to skip digit-grouping if configured to do so 2020-02-03 15:34:02 +01:00
.gitattributes
.gitignore qfloat16: Check in the tables to Git 2019-06-03 10:42:53 -07:00
.qmake.conf Bump version 2020-02-02 13:41:14 +01:00
.tag
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
config_help.txt Doc: Fix botched attempt of documenting the 'relocatable' feature 2020-02-13 09:41:10 +00:00
configure Pass SDK root to the linker as -isysroot, not -Wl,-syslibroot 2020-04-02 18:33:42 +02:00
configure.bat Configure: simplify logic 2019-03-14 12:13:58 +00:00
configure.json Doc: Fix botched attempt of documenting the 'relocatable' feature 2020-02-13 09:41:10 +00:00
configure.pri configure: Hacky fix to allow re-configuring on android 2019-12-16 19:17:47 +01: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.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.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.MIT qsimd: add support for new x86 CPU features 2018-05-05 06:20:07 +00:00
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile CMake: Add support for auto-importing plugins in CMake 2019-08-12 18:23:58 +02:00