From 433ed001fa79c0456c7b0830d18ed9e07c67d58d Mon Sep 17 00:00:00 2001 From: rdb Date: Sun, 4 Oct 2015 13:00:25 +0200 Subject: [PATCH] Using strong CMPXCH seems necessary to avoid crash on ARM --- dtool/src/dtoolbase/atomicAdjustGccImpl.I | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dtool/src/dtoolbase/atomicAdjustGccImpl.I b/dtool/src/dtoolbase/atomicAdjustGccImpl.I index 3e462f01cf..6831a16a1e 100644 --- a/dtool/src/dtoolbase/atomicAdjustGccImpl.I +++ b/dtool/src/dtoolbase/atomicAdjustGccImpl.I @@ -125,7 +125,7 @@ compare_and_exchange(TVOLATILE AtomicAdjustGccImpl::Integer &mem, AtomicAdjustGccImpl::Integer old_value, AtomicAdjustGccImpl::Integer new_value) { - __atomic_compare_exchange_n(&mem, &old_value, new_value, true, + __atomic_compare_exchange_n(&mem, &old_value, new_value, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); return old_value; } @@ -142,7 +142,7 @@ compare_and_exchange_ptr(TVOLATILE AtomicAdjustGccImpl::Pointer &mem, AtomicAdjustGccImpl::Pointer old_value, AtomicAdjustGccImpl::Pointer new_value) { - __atomic_compare_exchange_n(&mem, &old_value, new_value, true, + __atomic_compare_exchange_n(&mem, &old_value, new_value, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); return old_value; }