diff options
author | amistry <amistry@chromium.org> | 2015-07-04 07:43:15 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-04 14:43:59 +0000 |
commit | b246bac74f6a3b9df58b6ecccb4b56987b55dbd1 (patch) | |
tree | a00df0daee30c53553f04af2246ea1de5c3a7d74 /base | |
parent | 9576b6373498f65446a0665040ae24df44a0819f (diff) | |
download | chromium_src-b246bac74f6a3b9df58b6ecccb4b56987b55dbd1.zip chromium_src-b246bac74f6a3b9df58b6ecccb4b56987b55dbd1.tar.gz chromium_src-b246bac74f6a3b9df58b6ecccb4b56987b55dbd1.tar.bz2 |
Fix a tsan race triggerred by unprotected reads of |TraceLog::logged_events_|.
Review URL: https://codereview.chromium.org/1217383004
Cr-Commit-Position: refs/heads/master@{#337343}
Diffstat (limited to 'base')
-rw-r--r-- | base/trace_event/trace_event_impl.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/base/trace_event/trace_event_impl.cc b/base/trace_event/trace_event_impl.cc index 1fc2256..fb39519 100644 --- a/base/trace_event/trace_event_impl.cc +++ b/base/trace_event/trace_event_impl.cc @@ -1335,8 +1335,11 @@ void TraceLog::InitializeThreadLocalEventBufferIfSupported() { bool TraceLog::OnMemoryDump(ProcessMemoryDump* pmd) { TraceEventMemoryOverhead overhead; overhead.Add("TraceLog", sizeof(*this)); - if (logged_events_) - logged_events_->EstimateTraceMemoryOverhead(&overhead); + { + AutoLock lock(lock_); + if (logged_events_) + logged_events_->EstimateTraceMemoryOverhead(&overhead); + } overhead.AddSelf(); overhead.DumpInto("tracing/main_trace_log", pmd); return true; |