Index: base/memory/discardable_shared_memory.cc |
diff --git a/base/memory/discardable_shared_memory.cc b/base/memory/discardable_shared_memory.cc |
index 0f85c1fe903d612ecf055043c1a0d84d362ddbf7..d0eaca1a66219eafee72db30d3e91170e4055e98 100644 |
--- a/base/memory/discardable_shared_memory.cc |
+++ b/base/memory/discardable_shared_memory.cc |
@@ -340,6 +340,15 @@ bool DiscardableSharedMemory::IsMemoryResident() const { |
!result.GetTimestamp().is_null(); |
} |
+bool DiscardableSharedMemory::IsMemoryLocked() const { |
+ DCHECK(shared_memory_.memory()); |
+ |
+ SharedState result(subtle::NoBarrier_Load( |
+ &SharedStateFromSharedMemory(shared_memory_)->value.i)); |
+ |
+ return result.GetLockState() == SharedState::LOCKED; |
+} |
+ |
void DiscardableSharedMemory::Close() { |
shared_memory_.Close(); |
} |