mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
357 B
25 lines
357 B
C Atomic-RMW-ops-are-atomic-WRT-atomic_set |
|
|
|
(* |
|
* Result: Never |
|
* |
|
* Test that atomic_set() cannot break the atomicity of atomic RMWs. |
|
* NOTE: This requires herd7 7.56 or later which supports "(void)expr". |
|
*) |
|
|
|
{ |
|
atomic_t v = ATOMIC_INIT(1); |
|
} |
|
|
|
P0(atomic_t *v) |
|
{ |
|
(void)atomic_add_unless(v, 1, 0); |
|
} |
|
|
|
P1(atomic_t *v) |
|
{ |
|
atomic_set(v, 0); |
|
} |
|
|
|
exists |
|
(v=2)
|
|
|