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>bb10
parent
09075b40e9
commit
6fa34930c2
|
|
@ -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].loadRelaxed();
|
||||
delete [] _v[i].loadAcquire();
|
||||
}
|
||||
|
||||
template <typename T, typename ConstantsType>
|
||||
|
|
|
|||
Loading…
Reference in New Issue