From ec89de792b807324fe9b22b299a29c47217b8fdb Mon Sep 17 00:00:00 2001 From: LGH W Date: Tue, 10 Dec 2024 15:38:37 +0800 Subject: [PATCH 1/2] add MT Signed-off-by: LGH W --- base/allocator/partition_allocator/partition_lock.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/base/allocator/partition_allocator/partition_lock.h b/base/allocator/partition_allocator/partition_lock.h index 47ccb42ea6..6947d958c1 100644 --- a/base/allocator/partition_allocator/partition_lock.h +++ b/base/allocator/partition_allocator/partition_lock.h @@ -17,11 +17,13 @@ #include "base/allocator/partition_allocator/pkey.h" #include "base/allocator/partition_allocator/spinning_mutex.h" #include "build/build_config.h" +#include "base/logging.h" namespace partition_alloc::internal { class PA_LOCKABLE Lock { public: + bool isLocked = false; inline constexpr Lock(); void Acquire() PA_EXCLUSIVE_LOCK_FUNCTION() { #if BUILDFLAG(PA_DCHECK_IS_ON) @@ -56,7 +58,11 @@ class PA_LOCKABLE Lock { // issue. PA_IMMEDIATE_CRASH(); } + if (isLocked) { + LOG(ERROR) << "partition_alloc::internal::Lock::Acquire already locked!!!"; + } lock_.Acquire(); + isLocked = true; } owning_thread_ref_.store(current_thread, std::memory_order_release); #else @@ -70,6 +76,7 @@ class PA_LOCKABLE Lock { std::memory_order_release); #endif lock_.Release(); + isLocked = false; } void AssertAcquired() const PA_ASSERT_EXCLUSIVE_LOCK() { lock_.AssertAcquired(); -- Gitee From cdafee11608a9928bf5074c98e814b0c47f44afa Mon Sep 17 00:00:00 2001 From: LGH W Date: Tue, 10 Dec 2024 19:12:03 +0800 Subject: [PATCH 2/2] add MT Signed-off-by: LGH W --- base/allocator/partition_allocator/partition_lock.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/base/allocator/partition_allocator/partition_lock.h b/base/allocator/partition_allocator/partition_lock.h index 6947d958c1..3d14fcb7dc 100644 --- a/base/allocator/partition_allocator/partition_lock.h +++ b/base/allocator/partition_allocator/partition_lock.h @@ -23,7 +23,7 @@ namespace partition_alloc::internal { class PA_LOCKABLE Lock { public: - bool isLocked = false; + bool is_locked_ = false; inline constexpr Lock(); void Acquire() PA_EXCLUSIVE_LOCK_FUNCTION() { #if BUILDFLAG(PA_DCHECK_IS_ON) @@ -58,11 +58,11 @@ class PA_LOCKABLE Lock { // issue. PA_IMMEDIATE_CRASH(); } - if (isLocked) { + if (is_locked_) { LOG(ERROR) << "partition_alloc::internal::Lock::Acquire already locked!!!"; } lock_.Acquire(); - isLocked = true; + is_locked_ = true; } owning_thread_ref_.store(current_thread, std::memory_order_release); #else @@ -76,7 +76,7 @@ class PA_LOCKABLE Lock { std::memory_order_release); #endif lock_.Release(); - isLocked = false; + is_locked_ = false; } void AssertAcquired() const PA_ASSERT_EXCLUSIVE_LOCK() { lock_.AssertAcquired(); -- Gitee