1 // RUN: %clangxx_tsan -O1 %s -o %t && %deflake %run %t 2>&1 | FileCheck %s
9 unsigned long long buf
[2];
11 static void *thr(void *p
) {
12 barrier_wait(&barrier
);
13 mywrite(pipefd
[1], buf
, sizeof(buf
));
18 barrier_init(&barrier
, 2);
20 exit((perror("pipe"), 1));
21 mywrite(pipefd
[1], buf
, sizeof(buf
));
23 pthread_create(&th
, 0, thr
, 0);
24 myread(pipefd
[0], buf
, sizeof(buf
));
25 barrier_wait(&barrier
);
27 fprintf(stderr
, "DONE\n");
30 // CHECK: WARNING: ThreadSanitizer: data race
31 // CHECK: Read of size 8
34 // CHECK: Previous write of size 8