7 #include "model-assert.h"
19 Synchronization between plain push and steal (making w31 release and w35
23 static void task(void * param) {
26 if (a != EMPTY && a != ABORT)
27 atomic_load_explicit(&x[a], memory_order_relaxed);
30 int user_main(int argc, char **argv)
33 atomic_store_explicit(&x[0], 0, memory_order_relaxed);
34 atomic_store_explicit(&x[1], 0, memory_order_relaxed);
36 thrd_create(&t, task, 0);
37 //atomic_store_explicit(&x[1], 37, memory_order_relaxed);
46 if (a!=1 && a!=2 && a!=4 && a!= EMPTY)
48 if (b!=1 && b!=2 && b!=4 && b!= EMPTY)
50 if (c!=1 && c!=2 && c!=4 && a!= EMPTY)
52 if (a!=EMPTY && b!=EMPTY && c!=EMPTY && (a+b+c)!=7)
55 printf("a=%d b=%d c=%d\n",a,b,c);
56 MODEL_ASSERT(correct);