Index: base/memory/shared_memory_posix.cc |
diff --git a/base/memory/shared_memory_posix.cc b/base/memory/shared_memory_posix.cc |
index 6e1175e85f762d22ed14ec67d2beed75cd727815..783bdfce86cd13eec8c133ca36fdeeb419dfabab 100644 |
--- a/base/memory/shared_memory_posix.cc |
+++ b/base/memory/shared_memory_posix.cc |
@@ -379,6 +379,14 @@ SharedMemoryHandle SharedMemory::handle() const { |
return FileDescriptor(mapped_file_, false); |
} |
+SharedMemoryHandle SharedMemory::TakeHandle() { |
+ FileDescriptor handle(mapped_file_, true); |
+ mapped_file_ = -1; |
+ memory_ = nullptr; |
+ mapped_size_ = 0; |
+ return handle; |
+} |
+ |
void SharedMemory::Close() { |
if (mapped_file_ > 0) { |
if (IGNORE_EINTR(close(mapped_file_)) < 0) |