memory_order_release
*ret = atomic_fetch_sub_explicit(&refcnt->val, 1, memory_order_release) - 1;
#define tsan_st_rel(ptr, val) atomic_store_explicit((ptr), (val), memory_order_release)
sc, memory_order_release, memory_order_acquire)) {
atomic_store_explicit(&g_qcom_rnd_softc, NULL, memory_order_release);
memory_order_release, memory_order_acquire)) {
atomic_store_explicit(&g_vtrnd_softc, NULL, memory_order_release);
using std::memory_order_release;
atomic_thread_fence(memory_order_release);
atomic_signal_fence(memory_order_release);
atomic_signal_fence(memory_order_release);
atomic_signal_fence(memory_order_release);