Home | History | Annotate | Download | only in src

Lines Matching refs:gv

68 extern "C" int __cxa_guard_acquire(_guard_t* gv)
76 if (__bionic_cmpxchg(0, pending, &gv->state) == 0) {
80 __bionic_cmpxchg(pending, waiting, &gv->state); // Indicate there is a waiter
81 __futex_wait(&gv->state, waiting, NULL);
83 if (gv->state != ready) // __cxa_guard_abort was called, let every thread try since there is no return code for this condition
90 extern "C" void __cxa_guard_release(_guard_t* gv)
96 if (__bionic_cmpxchg(pending, ready, &gv->state) == 0) {
100 gv->state = ready;
101 __futex_wake(&gv->state, 0x7fffffff);
104 extern "C" void __cxa_guard_abort(_guard_t* gv)
107 gv->state= 0;
108 __futex_wake(&gv->state, 0x7fffffff);