Index: base/memory/shared_memory_win.cc |
diff --git a/base/memory/shared_memory_win.cc b/base/memory/shared_memory_win.cc |
index 7e39b45ff9740de3f3c424a2ce89642e64f3bf2c..e7a88a5f06b7b126a295e1e935da939c900624d9 100644 |
--- a/base/memory/shared_memory_win.cc |
+++ b/base/memory/shared_memory_win.cc |
@@ -379,4 +379,12 @@ SharedMemoryHandle SharedMemory::handle() const { |
return SharedMemoryHandle(mapped_file_.Get(), base::GetCurrentProcId()); |
} |
+SharedMemoryHandle SharedMemory::TakeHandle() { |
+ SharedMemoryHandle handle(mapped_file_.Take(), base::GetCurrentProcId()); |
+ handle.SetOwnershipPassesToIPC(true); |
+ memory_ = nullptr; |
+ mapped_size_ = 0; |
+ return handle; |
+} |
+ |
} // namespace base |