aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-02-19 09:02:29 +0000
committerDmitry Vyukov <dvyukov@google.com>2015-02-19 09:02:29 +0000
commitc0e912dd7b6cfe5603925c994cad97ebe778e1e3 (patch)
tree5e7097f365b3102afc89462a016d186f1b6e1011 /llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
parentba5b04c798b9cf30420f75128737a97b265d1e50 (diff)
downloadllvm-c0e912dd7b6cfe5603925c994cad97ebe778e1e3.zip
llvm-c0e912dd7b6cfe5603925c994cad97ebe778e1e3.tar.gz
llvm-c0e912dd7b6cfe5603925c994cad97ebe778e1e3.tar.bz2
tsan: fix PTRACE_ATTACH handling during stop-the-world
If the thread receives a signal concurrently with PTRACE_ATTACH, we can get notification about the signal before notification about stop. In such case we need to forward the signal to the thread, otherwise the signal will be missed (as we do PTRACE_DETACH with arg=0) and any logic relying on signals will break. After forwarding we need to continue to wait for stopping, because the thread is not stopped yet. We do ignore delivery of SIGSTOP, because we want to make stop-the-world as invisible as possible. http://reviews.llvm.org/D7723 --This line, and those below, will be ignored-- M lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc M test/tsan/signal_segv_handler.cc llvm-svn: 229832
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions