Index: base/memory/shared_memory_handle.h |
diff --git a/base/memory/shared_memory_handle.h b/base/memory/shared_memory_handle.h |
index 43950a253ad8a9b521fd256a812dd6f1f11d46d0..b3dfc8fa380e220a62e8384dfb09000e975a1386 100644 |
--- a/base/memory/shared_memory_handle.h |
+++ b/base/memory/shared_memory_handle.h |
@@ -156,6 +156,9 @@ class BASE_EXPORT SharedMemoryHandle { |
// Closes the underlying OS primitive. |
void Close() const; |
+ void SetOwnershipPassesToIPC(bool ownership_passes); |
+ bool OwnershipPassesToIPC() const; |
+ |
private: |
// Shared code between copy constructor and operator=. |
void CopyRelevantData(const SharedMemoryHandle& handle); |
@@ -177,6 +180,12 @@ class BASE_EXPORT SharedMemoryHandle { |
// The pid of the process in which |memory_object_| is usable. Only |
// relevant if |memory_object_| is not |MACH_PORT_NULL|. |
base::ProcessId pid_; |
+ |
+ // Whether passing this object as a parameter to an IPC message passes |
+ // ownership of |memory_object_| to the IPC stack. This is meant to mimic |
+ // the behavior of the |auto_close| parameter of FileDescriptor. |
+ // Defaults to |false|. |
+ bool ownership_passes_to_ipc_; |
}; |
}; |
}; |