|
|
|
|
|
by benibela
2401 days ago
|
|
So on every other platform than alpha thread2 works correctly without any barrier? Does this mean when you use double-checked locking on p on non-alpha systems, you do not need any kind of synchronization on the fast path where p is initialized? So this would be correct? if (!p) {
T *x = new T;
release_barrier();
if (!compare_and_swap(p, 0, x))
delete x;
}
|
|