atomic_fetch_sub_release
int old = atomic_fetch_sub_release(i, &r->refs);
int old = atomic_fetch_sub_release(1, &r->refs);
return atomic_fetch_sub_release(i, v);