llvm-capstone/lldb
Jonas Devlieghere ac25e8628c [lldb] Deal gracefully with concurrency in the API instrumentation.
Prevent lldb from crashing when multiple threads are concurrently
accessing the SB API with reproducer capture enabled.

The API instrumentation records both the input arguments and the return
value, but it cannot block for the duration of the API call. Therefore
we introduce a sequence number that allows to to correlate the function
with its result and add locking to ensure those two parts are emitted
atomically.

Using the sequence number, we can detect situations where the return
value does not succeed the function call, in which case we print an
error saying that concurrency is not (currently) supported. In the
future we might attempt to be smarter and read ahead until we've found
the return value matching the current call.

Differential revision: https://reviews.llvm.org/D92820
2020-12-10 09:37:49 -08:00
..
bindings [LLDB/Lua] add support for one-liner breakpoint callback 2020-11-30 14:12:26 +00:00
cmake
docs [lldb] [docs] Add a manpage for lldb-server 2020-12-10 15:02:25 +01:00
examples [lldb] Remove LLDB session dir and just store test traces in the respective test build directory 2020-12-04 11:43:10 +01:00
include/lldb [lldb] Deal gracefully with concurrency in the API instrumentation. 2020-12-10 09:37:49 -08:00
packages/Python [lldb/test] Change base class of lldb-server tests 2020-12-10 16:21:28 +01:00
resources
scripts [lldb][AArch64/Linux] Show memory tagged memory regions 2020-11-20 11:21:59 +00:00
source [lldb] Deal gracefully with concurrency in the API instrumentation. 2020-12-10 09:37:49 -08:00
test [lldb] Fix that symbols.clang-modules-cache-path is never initialized 2020-12-10 13:37:40 +01:00
third_party/Python/module
tools [lldb] Kill the inferior instead of detaching during test suite runs 2020-12-09 18:40:06 -08:00
unittests [lldb] Deal gracefully with concurrency in the API instrumentation. 2020-12-10 09:37:49 -08:00
utils [lldb] Remove LLDB session dir and just store test traces in the respective test build directory 2020-12-04 11:43:10 +01:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt
CODE_OWNERS.txt
LICENSE.TXT
use_lldb_suite_root.py