Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6344)

Unified Diff: base/memory/shared_memory_handle_mac.cc

Issue 2875453002: Add a size parameter to SharedMemoryHandle. (Closed)
Patch Set: Remove extraneous period. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/memory/shared_memory_handle.cc ('k') | base/memory/shared_memory_handle_posix.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « base/memory/shared_memory_handle.cc ('k') | base/memory/shared_memory_handle_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698