Fix deadlock with enable_backup_ref_ptr_instance_tracer=true (see #3239)

This commit is contained in:
Marshall Greenblatt 2024-05-15 13:26:33 -04:00
parent 32fc106ab0
commit 3f036edf2d
2 changed files with 19 additions and 0 deletions

View File

@ -802,5 +802,11 @@ patches = [
# Reverts
# https://chromium-review.googlesource.com/c/chromium/src/+/5351597
'name': 'base_allocator_unretained_dangling_ptr_5351597'
},
{
# Fix deadlock with enable_backup_ref_ptr_instance_tracer=true
# https://issues.chromium.org/issues/340815319
# https://chromium-review.googlesource.com/c/chromium/src/+/5542485
'name': 'base_allocator_instance_tracer_5542485'
}
]

View File

@ -0,0 +1,13 @@
diff --git base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.cc base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.cc
index 9f9c94cce4599..c6a25c4e2fa0c 100644
--- base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.cc
+++ base/allocator/partition_allocator/src/partition_alloc/pointers/instance_tracer.cc
@@ -42,7 +42,7 @@ auto& GetStorage() {
}
auto& GetStorageMutex() {
- static partition_alloc::internal::base::NoDestructor<std::mutex>
+ static partition_alloc::internal::base::NoDestructor<std::recursive_mutex>
storage_mutex;
return *storage_mutex;
}