sync_try_cmpxchg
} while (!sync_try_cmpxchg(word, &old, new));
} while (!sync_try_cmpxchg(pflags, &flags, 0));