summaryrefslogtreecommitdiffstats
path: root/src/corelib/plugin/qlibrary_win.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2019-12-18 18:17:38 -0800
committerThiago Macieira <thiago.macieira@intel.com>2020-03-03 14:36:28 -0800
commitf6c1cebe42193a62fa0b9c6a881bb1a973b1b8a9 (patch)
tree73d32c1350b7bd278b4f6c2fdcc7716d5f383263 /src/corelib/plugin/qlibrary_win.cpp
parentd9ca61bf0f6e544ad1fe2908e84c4a4966e5d0a1 (diff)
QPluginLoader: rework the loading and the caching of instance
There was a race condition in accessing the cached instance factory member, so rework loadPlugin() to return the cached or newly discovered instance, with proper, atomic caching. Because I had to change that, I took the opportunity to fix the QFactoryLoader code that calls loadPlugin(). Note that QLibraryPrivate::loadPlugin() returns non-nullptr now if the instance is known, which means the last return in QPluginLoader::load() will convert to true, not false, if the instance got cached between the earlier check and the call to loadPlugin(). That's probably what was intended. Task-number: QTBUG-39642 Change-Id: I46bf1f65e8db46afbde5fffd15e1a42d2b6cbf2c Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'src/corelib/plugin/qlibrary_win.cpp')
0 files changed, 0 insertions, 0 deletions