14dcd4d36SBoqun FengC Atomic-RMW-ops-are-atomic-WRT-atomic_set 24dcd4d36SBoqun Feng 34dcd4d36SBoqun Feng(* 44dcd4d36SBoqun Feng * Result: Never 54dcd4d36SBoqun Feng * 64dcd4d36SBoqun Feng * Test that atomic_set() cannot break the atomicity of atomic RMWs. 74dcd4d36SBoqun Feng *) 84dcd4d36SBoqun Feng 94dcd4d36SBoqun Feng{ 104dcd4d36SBoqun Feng atomic_t v = ATOMIC_INIT(1); 114dcd4d36SBoqun Feng} 124dcd4d36SBoqun Feng 134dcd4d36SBoqun FengP0(atomic_t *v) 144dcd4d36SBoqun Feng{ 154dcd4d36SBoqun Feng (void)atomic_add_unless(v, 1, 0); 164dcd4d36SBoqun Feng} 174dcd4d36SBoqun Feng 184dcd4d36SBoqun FengP1(atomic_t *v) 194dcd4d36SBoqun Feng{ 204dcd4d36SBoqun Feng atomic_set(v, 0); 214dcd4d36SBoqun Feng} 224dcd4d36SBoqun Feng 234dcd4d36SBoqun Fengexists 244dcd4d36SBoqun Feng(v=2) 25