forked from OSchip/llvm-project
efd254b636
We take report/thread_registry locks around fork. This means we cannot report any bugs in atfork handlers. We resolved this by enabling per-thread ignores around fork. This resolved some of the cases, but not all. The added test triggers a race report from a signal handler called from atfork callback, we reset per-thread ignores around signal handlers, so we tried to report it and deadlocked. But there are more cases: a signal handler can be called synchronously if it's sent to itself. Or any other report types would cause deadlocks as well: mutex misuse, signal handler spoiling errno, etc. Disable all reports for the duration of fork with thr->suppress_reports and don't re-enable them around signal handlers. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D101154 |
||
---|---|---|
.. | ||
cmake | ||
docs | ||
include | ||
lib | ||
test | ||
tools | ||
unittests | ||
utils | ||
www | ||
.clang-tidy | ||
.gitignore | ||
CMakeLists.txt | ||
CODE_OWNERS.TXT | ||
CREDITS.TXT | ||
LICENSE.TXT | ||
README.txt |
README.txt
Compiler-RT ================================ This directory and its subdirectories contain source code for the compiler support routines. Compiler-RT is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt. ================================