1 // RUN: %clang_tsan -O1 %s -o %t && %run %t 2>&1 | FileCheck %s
9 static void handler(int, siginfo_t
*, void*) {
10 const char *str
= "HELLO FROM SIGNAL\n";
11 write(2, str
, strlen(str
));
15 struct sigaction act
= {};
16 act
.sa_sigaction
= &handler
;
17 sigaction(SIGPROF
, &act
, 0);
18 kill(getpid(), SIGPROF
);
19 sleep(1); // let the signal handler run, can't use barrier in sig handler
20 fprintf(stderr
, "DONE\n");
24 // CHECK-NOT: WARNING: ThreadSanitizer
25 // CHECK: HELLO FROM SIGNAL