Index: base/memory/shared_memory_handle_mac.cc |
diff --git a/base/memory/shared_memory_handle_mac.cc b/base/memory/shared_memory_handle_mac.cc |
index 45e3754807430f293e30e43d7b8c57752a6b6f45..0e863fa67eb760f8fb45ae01a0c8eda4a5bfcb9d 100644 |
--- a/base/memory/shared_memory_handle_mac.cc |
+++ b/base/memory/shared_memory_handle_mac.cc |
@@ -16,13 +16,16 @@ |
namespace base { |
-SharedMemoryHandle::SharedMemoryHandle() |
- : type_(MACH), memory_object_(MACH_PORT_NULL) {} |
+SharedMemoryHandle::SharedMemoryHandle() {} |
SharedMemoryHandle::SharedMemoryHandle( |
const base::FileDescriptor& file_descriptor, |
+ size_t size, |
const base::UnguessableToken& guid) |
- : type_(POSIX), file_descriptor_(file_descriptor), guid_(guid) {} |
+ : type_(POSIX), |
+ file_descriptor_(file_descriptor), |
+ guid_(guid), |
+ size_(size) {} |
SharedMemoryHandle::SharedMemoryHandle(mach_vm_size_t size, |
const base::UnguessableToken& guid) { |
@@ -51,9 +54,9 @@ SharedMemoryHandle::SharedMemoryHandle(mach_port_t memory_object, |
const base::UnguessableToken& guid) |
: type_(MACH), |
memory_object_(memory_object), |
- size_(size), |
ownership_passes_to_ipc_(false), |
- guid_(guid) {} |
+ guid_(guid), |
+ size_(size) {} |
SharedMemoryHandle SharedMemoryHandle::Duplicate() const { |
switch (type_) { |
@@ -63,7 +66,7 @@ SharedMemoryHandle SharedMemoryHandle::Duplicate() const { |
int duped_fd = HANDLE_EINTR(dup(file_descriptor_.fd)); |
if (duped_fd < 0) |
return SharedMemoryHandle(); |
- return SharedMemoryHandle(FileDescriptor(duped_fd, true), guid_); |
+ return SharedMemoryHandle(FileDescriptor(duped_fd, true), size_, guid_); |
} |
case MACH: { |
if (!IsValid()) |
@@ -94,27 +97,6 @@ mach_port_t SharedMemoryHandle::GetMemoryObject() const { |
return memory_object_; |
} |
-bool SharedMemoryHandle::GetSize(size_t* size) const { |
- if (!IsValid()) { |
- *size = 0; |
- return true; |
- } |
- |
- switch (type_) { |
- case SharedMemoryHandle::POSIX: |
- struct stat st; |
- if (fstat(file_descriptor_.fd, &st) != 0) |
- return false; |
- if (st.st_size < 0) |
- return false; |
- *size = st.st_size; |
- return true; |
- case SharedMemoryHandle::MACH: |
- *size = size_; |
- return true; |
- } |
-} |
- |
bool SharedMemoryHandle::MapAt(off_t offset, |
size_t bytes, |
void** memory, |