diff options
| author | Pavel Labath <labath@google.com> | 2017-02-21 09:58:23 +0000 |
|---|---|---|
| committer | Pavel Labath <labath@google.com> | 2017-02-21 09:58:23 +0000 |
| commit | ba95a28c18e98c4e9017d9b9a8c36c20eb638d5a (patch) | |
| tree | da9ed8e691f5e228791eede9ccfe5e7ca599b5b3 /llvm/test/Transforms/SCCP/ipsccp-basic.ll | |
| parent | 52a82e2ec6956e84fb52518b4077beb2fadd44b6 (diff) | |
| download | bcm5719-llvm-ba95a28c18e98c4e9017d9b9a8c36c20eb638d5a.tar.gz bcm5719-llvm-ba95a28c18e98c4e9017d9b9a8c36c20eb638d5a.zip | |
Log: Fix race in accessing the stream variable
Summary:
The code was attempting to copy the shared pointer member in order to
guarantee atomicity, but this is not enough. Instead, protect the
pointer with a proper read-write mutex.
This bug was present here for a long time, but my recent refactors must
have altered the timings slightly, such that now this fails fairly often
when running the tests: the test runner runs the "log disable" command
just as the thread monitoring the lldb-server child is about to report
that the server has exited.
I add a test case for this. It's not possible to reproduce the race
deterministically in normal circumstances, but I have verified that
before the fix, the test failed when run under tsan, and was running
fine afterwards.
Reviewers: clayborg, zturner
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D30168
llvm-svn: 295712
Diffstat (limited to 'llvm/test/Transforms/SCCP/ipsccp-basic.ll')
0 files changed, 0 insertions, 0 deletions

