Home | History | Annotate | Download | only in output_tests
      1 #include <pthread.h>
      2 #include <stdio.h>
      3 #include <stddef.h>
      4 #include <unistd.h>
      5 
      6 pthread_barrier_t B;
      7 int Global;
      8 
      9 void *Thread1(void *x) {
     10   pthread_barrier_init(&B, 0, 2);
     11   pthread_barrier_wait(&B);
     12   return NULL;
     13 }
     14 
     15 void *Thread2(void *x) {
     16   usleep(1000000);
     17   pthread_barrier_wait(&B);
     18   return NULL;
     19 }
     20 
     21 int main() {
     22   pthread_t t;
     23   pthread_create(&t, NULL, Thread1, NULL);
     24   Thread2(0);
     25   pthread_join(t, NULL);
     26   pthread_barrier_destroy(&B);
     27   return 0;
     28 }
     29 
     30 // CHECK:      WARNING: ThreadSanitizer: data race
     31 
     32