Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(807)

Unified Diff: cc/test/test_gpu_memory_buffer_manager.cc

Issue 2682743007: cc: Lock access to |buffers_| in TestGpuMemoryBufferManager (Closed)
Patch Set: lockbuffers: . Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/test/test_gpu_memory_buffer_manager.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/test/test_gpu_memory_buffer_manager.cc
diff --git a/cc/test/test_gpu_memory_buffer_manager.cc b/cc/test/test_gpu_memory_buffer_manager.cc
index fb6899f81d137319173a35267fee37888a78ae2a..47c2fae9f9feea8771659de0d4f4e5b2b89f1ca0 100644
--- a/cc/test/test_gpu_memory_buffer_manager.cc
+++ b/cc/test/test_gpu_memory_buffer_manager.cc
@@ -129,7 +129,10 @@ TestGpuMemoryBufferManager::TestGpuMemoryBufferManager() {
}
TestGpuMemoryBufferManager::~TestGpuMemoryBufferManager() {
- DCHECK(buffers_.empty());
+ {
+ base::AutoLock hold(buffers_lock_);
+ DCHECK(buffers_.empty());
+ }
DCHECK(clients_.empty());
if (parent_gpu_memory_buffer_manager_)
parent_gpu_memory_buffer_manager_->clients_.erase(client_id_);
@@ -148,6 +151,7 @@ TestGpuMemoryBufferManager::CreateClientGpuMemoryBufferManager() {
void TestGpuMemoryBufferManager::OnGpuMemoryBufferDestroyed(
gfx::GpuMemoryBufferId gpu_memory_buffer_id) {
+ base::AutoLock hold(buffers_lock_);
DCHECK(buffers_.find(gpu_memory_buffer_id.id) != buffers_.end());
buffers_.erase(gpu_memory_buffer_id.id);
}
@@ -168,6 +172,7 @@ TestGpuMemoryBufferManager::CreateGpuMemoryBuffer(
this, last_gpu_memory_buffer_id_, size, format, std::move(shared_memory),
0, base::checked_cast<int>(
gfx::RowSizeForBufferFormat(size.width(), format, 0))));
+ base::AutoLock hold(buffers_lock_);
buffers_[last_gpu_memory_buffer_id_] = result.get();
return result;
}
« no previous file with comments | « cc/test/test_gpu_memory_buffer_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698