X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2Freleaseseq.c;h=548f0a822380ae19640cb30197d7ac6e1209fde4;hb=5178739a27add5e59a1213c9ac90e73397c1a23d;hp=462a59f32a30251de82bed4ffbe451b8b862ed0b;hpb=8f379cb70822bfd5498da9997ad4f7c3b37a18ed;p=model-checker.git diff --git a/test/releaseseq.c b/test/releaseseq.c index 462a59f..548f0a8 100644 --- a/test/releaseseq.c +++ b/test/releaseseq.c @@ -5,10 +5,10 @@ */ #include +#include +#include -#include "libthreads.h" #include "librace.h" -#include "stdatomic.h" atomic_int x; int var = 0; @@ -23,7 +23,7 @@ static void a(void *obj) static void b(void *obj) { int r = atomic_load_explicit(&x, memory_order_acquire); - printf("r = %u\n", r); + printf("r = %d\n", r); printf("load %d\n", load_32(&var)); } @@ -32,13 +32,13 @@ 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; atomic_init(&x, 0); - printf("Thread %d: creating 3 threads\n", thrd_current()); + printf("Main thread: creating 3 threads\n"); thrd_create(&t1, (thrd_start_t)&a, NULL); thrd_create(&t2, (thrd_start_t)&b, NULL); thrd_create(&t3, (thrd_start_t)&c, NULL); @@ -46,5 +46,7 @@ void user_main() thrd_join(t1); thrd_join(t2); thrd_join(t3); - printf("Thread %d is finished\n", thrd_current()); + printf("Main thread is finished\n"); + + return 0; }