diff options
author | Vitaly Buka <vitalybuka@google.com> | 2023-04-14 16:27:19 -0700 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2023-04-17 15:33:43 -0700 |
commit | 776027277818af1a2672dc396cdd64d79dacf495 (patch) | |
tree | 551a727c85094a44d9f179038bb49929dcf39296 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | |
parent | 67fed132f39c81e8006c4463ab1f173fea5e4e4b (diff) | |
download | llvm-776027277818af1a2672dc396cdd64d79dacf495.zip llvm-776027277818af1a2672dc396cdd64d79dacf495.tar.gz llvm-776027277818af1a2672dc396cdd64d79dacf495.tar.bz2 |
[lsan] Don't crash on ThreadRegistry::threads_ data race
Comment "No lock needed" in CurrentThreadContext was wrong.
Concurent ThreadRegistry::CreateThread can resize and relocate
ThreadRegistry::threads_ the same time CurrentThreadContext reads it.
To mitigate lock cost we store ThreadContext* instead of tid in
THREADLOCAL cache, we can tid from the ThreadContext*.
Reviewed By: kstoimenov, MaskRay
Differential Revision: https://reviews.llvm.org/D148281
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions