diff options
author | ernstm@chromium.org <ernstm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-20 15:17:26 +0000 |
---|---|---|
committer | ernstm@chromium.org <ernstm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-20 15:17:26 +0000 |
commit | 77f333aa746bf1fb1cbe11b41876736682f74107 (patch) | |
tree | ff0597b0ec8580609d4c6b77b21399b0699d878a /cc/debug/rendering_stats_instrumentation.cc | |
parent | f202649a05803aecc41fd603cd861a9a4ef1ba33 (diff) | |
download | chromium_src-77f333aa746bf1fb1cbe11b41876736682f74107.zip chromium_src-77f333aa746bf1fb1cbe11b41876736682f74107.tar.gz chromium_src-77f333aa746bf1fb1cbe11b41876736682f74107.tar.bz2 |
cc: fix another data race in RenderingStatsInstrumentation.
Access to the stats was not protected by a lock. Fix by returning a copy to
the stats and locking while making the copy.
R=enne@chromium.org
BUG=370244
Review URL: https://codereview.chromium.org/289163004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271646 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/debug/rendering_stats_instrumentation.cc')
-rw-r--r-- | cc/debug/rendering_stats_instrumentation.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/cc/debug/rendering_stats_instrumentation.cc b/cc/debug/rendering_stats_instrumentation.cc index 5dbc113..d58ae80 100644 --- a/cc/debug/rendering_stats_instrumentation.cc +++ b/cc/debug/rendering_stats_instrumentation.cc @@ -18,6 +18,18 @@ RenderingStatsInstrumentation::RenderingStatsInstrumentation() RenderingStatsInstrumentation::~RenderingStatsInstrumentation() {} +MainThreadRenderingStats +RenderingStatsInstrumentation::main_thread_rendering_stats() { + base::AutoLock scoped_lock(lock_); + return main_stats_; +} + +ImplThreadRenderingStats +RenderingStatsInstrumentation::impl_thread_rendering_stats() { + base::AutoLock scoped_lock(lock_); + return impl_stats_; +} + RenderingStats RenderingStatsInstrumentation::GetRenderingStats() { base::AutoLock scoped_lock(lock_); RenderingStats rendering_stats; |