llvm-project/compiler-rt/lib/tsan
Dmitry Vyukov 59dce3d4d0 tsan: more careful handling of signals
On some tests we see that signals are not delivered
when a thread is blocked in epoll_wait. The hypothesis
is that the signal is delivered right before epoll_wait
call. The signal is queued as in_blocking_func is not set
yet, and then the thread just blocks in epoll_wait forever.
So double check pending signals *after* setting
in_blocking_func. This way we either queue a signal
and handle it in the beginning of a blocking func,
or process the signal synchronously if it's delivered
when in_blocking_func is set.

llvm-svn: 218070
2014-09-18 19:03:32 +00:00
..
benchmarks [tsan] ThreadSanitizer tests and micro benchmarks. No makefiles yet. 2012-05-10 14:18:22 +00:00
dd Do not link the dyndd runtime library against libdl on FreeBSD 2014-09-17 07:54:46 +00:00
go [TSan] Try to fix Go runtime build 2014-08-06 23:13:23 +00:00
rtl tsan: more careful handling of signals 2014-09-18 19:03:32 +00:00
tests [TSan] Use common flags in the same way as all the other sanitizers 2014-09-10 23:08:06 +00:00
CMakeLists.txt Build libcxx-tsan only if TSan is supported on host architecture 2014-07-23 20:07:26 +00:00
Makefile.mk [tsan] makefile machinery to build tsan-rt (linux-x86_64 only) 2012-05-15 15:17:35 +00:00
Makefile.old tsan: fix vector clocks 2014-04-11 15:38:03 +00:00
analyze_libtsan.sh tsan: add interface functions for unaligned access, e.g. __sanitizer_unaligned_load16 2013-04-30 11:56:56 +00:00
check_analyze.sh tsan: optimize memory access functions 2014-05-30 13:36:29 +00:00
check_cmake.sh tsan: do not build llvm from scratch on each presubmit 2013-10-15 12:54:50 +00:00
check_memcpy.sh tsan: refactor storage of meta information for heap blocks and sync objects 2014-05-29 13:50:54 +00:00