llvm-project/compiler-rt/lib/tsan/tests/unit
Dmitry Vyukov 16e7a758b0 tsan: do not deadlock on fork
Currently correct programs can deadlock after fork, because atomic operations and async-signal-safe calls are not async-signal-safe under tsan.
With this change:
- if a single-threaded program forks, the child continues running with verification enabled (the tsan background thread is recreated as well)
- if a multi-threaded program forks, then the child runs with verification disabled (memory accesses, atomic operations and interceptors are disabled); it's expected that it will exec soon anyway
- if the child tries to create more threads after multi-threaded fork, the program aborts with error message
- die_after_fork flag is added that allows to continue running, but all bets are off

http://llvm-reviews.chandlerc.com/D2614

llvm-svn: 199993
2014-01-24 12:33:35 +00:00
..
CMakeLists.txt [TSan] Use Clang to compile and link TSan unit tests with TSan runtime 2013-09-11 09:56:33 +00:00
tsan_clock_test.cc tsan: remove in_rtl counter 2013-12-24 12:55:56 +00:00
tsan_flags_test.cc tsan: do not deadlock on fork 2014-01-24 12:33:35 +00:00
tsan_mman_test.cc tsan: remove in_rtl counter 2013-12-24 12:55:56 +00:00
tsan_mutex_test.cc
tsan_mutexset_test.cc tsan: fix incorrect test 2013-03-20 13:49:45 +00:00
tsan_shadow_test.cc tsan: flip is_write bit in shadow to is_read 2013-02-01 10:02:55 +00:00
tsan_stack_test.cc tsan: remove in_rtl counter 2013-12-24 12:55:56 +00:00
tsan_sync_test.cc tsan: remove in_rtl counter 2013-12-24 12:55:56 +00:00
tsan_unit_test_main.cc [TSan] Use Clang to compile and link TSan unit tests with TSan runtime 2013-09-11 09:56:33 +00:00
tsan_vector_test.cc tsan: remove in_rtl counter 2013-12-24 12:55:56 +00:00