X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2Frmwprog.c;h=57ab54462bab9b03b48a87cf86578d06c8c5e070;hb=a25df039765695dbb7cdf12d01d5a6adb773ab84;hp=feac7766c9f68154e169c143d0903cbf18b44141;hpb=a64ca6ed8ef09fb2a974d44315404075cbf365fe;p=model-checker.git diff --git a/test/rmwprog.c b/test/rmwprog.c index feac776..57ab544 100644 --- a/test/rmwprog.c +++ b/test/rmwprog.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -5,17 +6,22 @@ #include "librace.h" atomic_int x; +static int N = 2; static void a(void *obj) { - atomic_fetch_add_explicit(&x, 1, memory_order_relaxed); - atomic_fetch_add_explicit(&x, 1, memory_order_relaxed); + int i; + for (i = 0; i < N; i++) + atomic_fetch_add_explicit(&x, 1, memory_order_relaxed); } int user_main(int argc, char **argv) { thrd_t t1, t2; + if (argc > 1) + N = atoi(argv[1]); + atomic_init(&x, 0); thrd_create(&t1, (thrd_start_t)&a, NULL); thrd_create(&t2, (thrd_start_t)&a, NULL);