diff options
| author | Liang Qi <liang.qi@qt.io> | 2016-06-16 07:30:02 +0200 |
|---|---|---|
| committer | Liang Qi <liang.qi@qt.io> | 2016-06-16 07:30:02 +0200 |
| commit | c4e472ea1037afde7b99d9132a49eb616cad240e (patch) | |
| tree | c9e66fdda63a2e5c3f5a944d711e5c9845de33ac /src/corelib/thread/qmutexpool.cpp | |
| parent | 7b23ebefb2360feb139ff6e10d2253396e58721e (diff) | |
| parent | 6c1e352803a6efbd8b14e5296434e22165b65084 (diff) | |
Merge remote-tracking branch 'origin/5.7.0' into 5.7
Conflicts:
src/corelib/tools/qsimd_p.h
Change-Id: I7c6bfc5873d97ad7f51a540dd9c18b9359dde59f
Diffstat (limited to 'src/corelib/thread/qmutexpool.cpp')
| -rw-r--r-- | src/corelib/thread/qmutexpool.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/corelib/thread/qmutexpool.cpp b/src/corelib/thread/qmutexpool.cpp index 522fd5eac24..90b6989467c 100644 --- a/src/corelib/thread/qmutexpool.cpp +++ b/src/corelib/thread/qmutexpool.cpp @@ -92,10 +92,11 @@ Q_GLOBAL_STATIC_WITH_ARGS(QMutexPool, globalMutexPool, (QMutex::Recursive)) QMutexPool is destructed. */ QMutexPool::QMutexPool(QMutex::RecursionMode recursionMode, int size) - : count(size), - mutexes(new QAtomicPointer<QMutex>[size]()), // (): zero-initialize - recursionMode(recursionMode) + : mutexes(size), recursionMode(recursionMode) { + for (int index = 0; index < mutexes.count(); ++index) { + mutexes[index].store(0); + } } /*! @@ -104,8 +105,8 @@ QMutexPool::QMutexPool(QMutex::RecursionMode recursionMode, int size) */ QMutexPool::~QMutexPool() { - qDeleteAll(mutexes, mutexes + count); - delete[] mutexes; + for (int index = 0; index < mutexes.count(); ++index) + delete mutexes[index].load(); } /*! |
