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 6fa34930c2
)
(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…
Reference in New Issue
Block a user