Files
clang-p2996/lldb/test/API/functionalities/tsan/basic/main.c
Dmitry Vyukov a114f15193 [lldb] Deflake TestTsanBasic.py
The test flaked on bots:
http://green.lab.llvm.org/green/job/lldb-cmake/38666/
The test expects that tsan will detect a single race
with concurrent memory accesses. TSan doesn't do this reliably.
Run 100 iterations of the racing threads, which should
make the race much more likely to be detected.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D114444
2021-11-23 17:55:20 +01:00

33 lines
592 B
C

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
char *pointer;
void *f1(void *p) {
pointer[0] = 'x'; // thread1 line
return NULL;
}
void *f2(void *p) {
pointer[0] = 'y'; // thread2 line
return NULL;
}
int main (int argc, char const *argv[])
{
for (int i = 0; i < 100; i++) {
pointer = (char *)malloc(10); // malloc line
pthread_t t1, t2;
pthread_create(&t1, NULL, f1, NULL);
pthread_create(&t2, NULL, f2, NULL);
pthread_join(t1, NULL);
pthread_join(t2, NULL);
free(pointer);
}
return 0;
}