X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2Freleaseseq.c;h=cbb8ef5630111d651788729c75897a845983167c;hb=616746ec12aae78b0d0262c009568109686cb000;hp=d3127f392206be6609fd20476a11ad730cfcb7d2;hpb=0170878f8a8be6aa06af6591e50fffdb2ce54022;p=model-checker.git diff --git a/test/releaseseq.c b/test/releaseseq.c index d3127f3..cbb8ef5 100644 --- a/test/releaseseq.c +++ b/test/releaseseq.c @@ -6,14 +6,16 @@ #include -#include "libthreads.h" +#include #include "librace.h" #include "stdatomic.h" atomic_int x; +int var = 0; static void a(void *obj) { + store_32(&var, 1); atomic_store_explicit(&x, 1, memory_order_release); atomic_store_explicit(&x, 42, memory_order_relaxed); } @@ -22,6 +24,7 @@ static void b(void *obj) { int r = atomic_load_explicit(&x, memory_order_acquire); printf("r = %u\n", r); + printf("load %d\n", load_32(&var)); } static void c(void *obj) @@ -29,7 +32,7 @@ static void c(void *obj) atomic_store_explicit(&x, 2, memory_order_relaxed); } -void user_main() +int user_main(int argc, char **argv) { thrd_t t1, t2, t3; @@ -44,4 +47,6 @@ void user_main() thrd_join(t2); thrd_join(t3); printf("Thread %d is finished\n", thrd_current()); + + return 0; }