diff options
Diffstat (limited to 'libstdc++/src/one_time_construction.cpp')
-rw-r--r-- | libstdc++/src/one_time_construction.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libstdc++/src/one_time_construction.cpp b/libstdc++/src/one_time_construction.cpp index 2a44c79..f3d7138 100644 --- a/libstdc++/src/one_time_construction.cpp +++ b/libstdc++/src/one_time_construction.cpp @@ -20,11 +20,11 @@ extern "C" int __cxa_guard_acquire(int volatile * gv) // 6 untouched, wait and return 0 // 1 untouched, return 0 retry: - if (__atomic_cmpxchg(0, 0x2, gv) == 0) { + if (__bionic_cmpxchg(0, 0x2, gv) == 0) { ANDROID_MEMBAR_FULL(); return 1; } - __atomic_cmpxchg(0x2, 0x6, gv); // Indicate there is a waiter + __bionic_cmpxchg(0x2, 0x6, gv); // Indicate there is a waiter __futex_wait(gv, 0x6, NULL); if(*gv != 1) // __cxa_guard_abort was called, let every thread try since there is no return code for this condition @@ -39,7 +39,7 @@ extern "C" void __cxa_guard_release(int volatile * gv) // 2 -> 1 // 6 -> 1, and wake ANDROID_MEMBAR_FULL(); - if (__atomic_cmpxchg(0x2, 0x1, gv) == 0) { + if (__bionic_cmpxchg(0x2, 0x1, gv) == 0) { return; } |