static int wdelay;
-static struct test_array test_array = { 8 };
+static volatile struct test_array test_array = { 8 };
static unsigned long duration;
assert(test_array.a == 8);
pthread_rwlock_unlock(&lock);
nr_reads++;
- if (!test_duration_read())
+ if (unlikely(!test_duration_read()))
break;
}
for (;;) {
pthread_rwlock_wrlock(&lock);
+ test_array.a = 0;
test_array.a = 8;
pthread_rwlock_unlock(&lock);
nr_writes++;
- if (!test_duration_write())
+ if (unlikely(!test_duration_write()))
break;
- if (wdelay)
+ if (unlikely(wdelay))
usleep(wdelay);
}