diff options
Diffstat (limited to 'libstdc++/src')
-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 00adce9fb..1eac3b1a5 100644 --- a/libstdc++/src/one_time_construction.cpp +++ b/libstdc++/src/one_time_construction.cpp @@ -75,11 +75,11 @@ extern "C" int __cxa_guard_acquire(_guard_t* gv) // ready: untouched, return 0 retry: - if (__atomic_cmpxchg(0, pending, &gv->state) == 0) { + if (__bionic_cmpxchg(0, pending, &gv->state) == 0) { ANDROID_MEMBAR_FULL(); return 1; } - __atomic_cmpxchg(pending, waiting, &gv->state); // Indicate there is a waiter + __bionic_cmpxchg(pending, waiting, &gv->state); // Indicate there is a waiter __futex_wait(&gv->state, waiting, NULL); if (gv->state != ready) // __cxa_guard_abort was called, let every thread try since there is no return code for this condition @@ -95,7 +95,7 @@ extern "C" void __cxa_guard_release(_guard_t* gv) // waiting -> ready, and wake ANDROID_MEMBAR_FULL(); - if (__atomic_cmpxchg(pending, ready, &gv->state) == 0) { + if (__bionic_cmpxchg(pending, ready, &gv->state) == 0) { return; } |