tsan: fix signal handling during stop-the-world
authorDmitry Vyukov <dvyukov@google.com>
Wed, 18 Feb 2015 15:13:29 +0000 (15:13 +0000)
committerDmitry Vyukov <dvyukov@google.com>
Wed, 18 Feb 2015 15:13:29 +0000 (15:13 +0000)
commit8870ee77558ddc25c82eaff89b22359957a7f386
tree4fb914059b21c0ac346337d497954b4126e75996
parenteaa4c73d62b03eb3a1796d8c49180c6474914af5
tsan: fix signal handling during stop-the-world

Long story short: stop-the-world briefly resets SIGSEGV handler to SIG_DFL.
This breaks programs that handle and continue after SIGSEGV (namely JVM).
See the test and comments for details.

http://reviews.llvm.org/D7722

llvm-svn: 229678
compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
compiler-rt/test/tsan/signal_segv_handler.cc [new file with mode: 0644]