Files
clang-p2996/compiler-rt/test/tsan/pthread_atfork_deadlock.c
Kuba Brecka 6c9122ffba [tsan] Change comments referencing code.google.com to point to GitHub instead. NFC.
Changing comments that have references to code.google.com to point to GitHub instead, because the current links are not redirected properly (they instead redirect to different issues, mostly ASan). NFC.

Differential Revision: http://reviews.llvm.org/D15053

llvm-svn: 254300
2015-11-30 14:11:48 +00:00

34 lines
773 B
C

// RUN: %clang_tsan -O1 %s -lpthread -o %t && %deflake %run %t | FileCheck %s
// Regression test for
// https://github.com/google/sanitizers/issues/468
// When the data race was reported, pthread_atfork() handler used to be
// executed which caused another race report in the same thread, which resulted
// in a deadlock.
#include "test.h"
int glob = 0;
void *worker(void *unused) {
barrier_wait(&barrier);
glob++;
return NULL;
}
void atfork() {
fprintf(stderr, "ATFORK\n");
glob++;
}
int main() {
barrier_init(&barrier, 2);
pthread_atfork(atfork, NULL, NULL);
pthread_t t;
pthread_create(&t, NULL, worker, NULL);
glob++;
barrier_wait(&barrier);
pthread_join(t, NULL);
// CHECK: ThreadSanitizer: data race
// CHECK-NOT: ATFORK
return 0;
}