summaryrefslogtreecommitdiff
path: root/make
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2014-01-24 12:33:35 +0000
committerDmitry Vyukov <dvyukov@google.com>2014-01-24 12:33:35 +0000
commit87861adcb10068eaac6a9d75544f9011f285bbf6 (patch)
tree9e1a4f4dc2fa0dc2fe1af696f365fbbe4fa738b7 /make
parent91863c830dc9ac6d26831a0e5b9888792d8b9ddb (diff)
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 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@199993 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'make')
0 files changed, 0 insertions, 0 deletions