POSIX states that "It shall be safe to destroy an initialized condition variable upon which no threads are currently blocked", and later clarifies "A condition variable can be destroyed immediately after all the threads that are blocked on it are awakened) (in examples section). Tsan reported such destruction as a data race.
Fixes https://llvm.org/bugs/show_bug.cgi?id=23616
Details
Details
- Reviewers
EricWF
Diff Detail
Diff Detail
Event Timeline
Comment Actions
The test case and fix look right to me. Couldn't you just use the exit code of the test directly instead of using FileCheck?
Comment Actions
The exit code is also checked. lit test driver ensure that all commands exit with 0 status (we run tests that contain races with 'not' bash command). So that's kind of two levels of protection :)