llvm-project/lldb
Vedant Kumar 4624e83ce7 [Signal] Allow llvm clients to opt into one-shot SIGPIPE handling
Allow clients of the llvm library to opt-in to one-shot SIGPIPE
handling, instead of forcing them to undo llvm's SIGPIPE handler
registration (which is brittle).

The current behavior is preserved for all llvm-derived tools (except
lldb) by means of a default-`true` flag in the InitLLVM constructor.

This prevents "IO error" crashes in long-lived processes (lldb is the
motivating example) which both a) load llvm as a dynamic library and b)
*really* need to ignore SIGPIPE.

As llvm signal handlers can be installed when calling into libclang
(say, via RemoveFileOnSignal), thereby overriding a previous SIG_IGN for
SIGPIPE, there is no clean way to opt-out of "exit-on-SIGPIPE" in the
current model.

Differential Revision: https://reviews.llvm.org/D70277
2019-11-18 10:27:27 -08:00
..
cmake [LLDB] Remove debug message in AddLLDB.cmake 2019-11-12 15:33:03 -08:00
docs [Docs] Add Python caveats under the development section 2019-11-18 09:15:00 -08:00
examples crashlog.py: Improve regular expressions 2019-11-07 10:52:06 -08:00
include/lldb Replace bitfield in lldb::Type with byte-sized members. (NFC) 2019-11-18 10:00:26 -08:00
packages/Python/lldbsuite [lldb] [Process/NetBSD] Implement thread name getting 2019-11-18 11:21:17 +01:00
resources [CMake] Revised LLDB.framework builds 2019-01-04 12:46:50 +00:00
scripts [LLDB][Python] remove ArgInfo::count 2019-11-04 12:48:49 -08:00
source Replace bitfield in lldb::Type with byte-sized members. (NFC) 2019-11-18 10:00:26 -08:00
test [Reproducer] Enable crash reports for reproducer tests 2019-11-14 14:16:41 -08:00
third_party/Python/module Increase timeout in pexpect to lower chances of tests failing under ASAN. 2019-10-10 16:16:49 +00:00
tools [Signal] Allow llvm clients to opt into one-shot SIGPIPE handling 2019-11-18 10:27:27 -08:00
unittests [lldb] Fix JSON parser to allow empty arrays 2019-11-18 15:12:55 +01:00
utils [LLDB] Fix inline variable only used in assertion. (NFC) 2019-10-25 15:47:17 -07:00
.arcconfig
.clang-format
.gitignore Add .noindex to the gitignore 2019-04-05 17:57:42 +00:00
CMakeLists.txt [lldb] Record framework build path and use it everywhere 2019-11-06 14:05:35 -08:00
CODE_OWNERS.txt [lldb][NFC] Cleanup mentions and code related to lldb-mi 2019-07-19 15:55:23 +00:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
use_lldb_suite_root.py