view paper/src/atomicImpl.cbc @ 4:bf1f62556b81

add while_test_init_imple
author soto
date Thu, 11 Feb 2021 17:03:31 +0900
parents 959f4b34d6f4
children
line wrap: on
line source

__code checkAndSetAtomicReference(struct AtomicReference* atomic, union Data** ptr, union Data* oldData, union Data* newData, __code next(...), __code fail(...)) {
    if (__sync_bool_compare_and_swap(ptr, oldData, newData)) {
        goto next(...);
    }
    goto fail(...);
}