QFreeList: fix memory order on block deletion
Blocks are likely to have been created in a differnt thread from the one performing their deletion, so we need an acquire fence. The rest of the atomics use in the class looks ok, but nevertheless warrants a deeper analysis. Change-Id: I1571ded3a06695b0d58b5bf1d80d6283ac21f959 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 6fa34930c23c7494a3f2703777f46794ff091e2b) (cherry picked from commit 51bcc7e07e2bb5b42bb200dcd5269e9e9e2fe240) Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
parent
fc95af3621
commit
1c6828b9d6
@ -218,7 +218,7 @@ template <typename T, typename ConstantsType>
|
||||
inline QFreeList<T, ConstantsType>::~QFreeList()
|
||||
{
|
||||
for (int i = 0; i < ConstantsType::BlockCount; ++i)
|
||||
delete [] _v[i].load();
|
||||
delete [] _v[i].loadAcquire();
|
||||
}
|
||||
|
||||
template <typename T, typename ConstantsType>
|
||||
|
Loading…
x
Reference in New Issue
Block a user