Chromium Code Reviews| Index: base/memory/shared_memory_win.cc |
| diff --git a/base/memory/shared_memory_win.cc b/base/memory/shared_memory_win.cc |
| index 881e0609378565e4386234ff2a60347a68296d63..ffa7bd72bd1530d3f3180de8c73f328fc1663d24 100644 |
| --- a/base/memory/shared_memory_win.cc |
| +++ b/base/memory/shared_memory_win.cc |
| @@ -185,18 +185,7 @@ size_t SharedMemory::GetHandleLimit() { |
| // static |
| SharedMemoryHandle SharedMemory::DuplicateHandle( |
| const SharedMemoryHandle& handle) { |
| - DCHECK(handle.BelongsToCurrentProcess()); |
| - HANDLE duped_handle; |
| - ProcessHandle process = GetCurrentProcess(); |
| - BOOL success = |
| - ::DuplicateHandle(process, handle.GetHandle(), process, &duped_handle, 0, |
| - FALSE, DUPLICATE_SAME_ACCESS); |
|
Nico
2017/05/02 15:58:45
Oh, you just moved this around. Nits still apply,
|
| - if (success) { |
| - base::SharedMemoryHandle handle(duped_handle, GetCurrentProcId()); |
| - handle.SetOwnershipPassesToIPC(true); |
| - return handle; |
| - } |
| - return SharedMemoryHandle(); |
| + return handle.Duplicate(); |
| } |
| bool SharedMemory::CreateAndMapAnonymous(size_t size) { |
| @@ -352,8 +341,7 @@ SharedMemoryHandle SharedMemory::GetReadOnlyHandle() { |
| } |
| bool SharedMemory::ShareToProcessCommon(ProcessHandle process, |
| - SharedMemoryHandle* new_handle, |
| - bool close_self) { |
| + SharedMemoryHandle* new_handle) { |
| *new_handle = SharedMemoryHandle(); |
| DWORD access = FILE_MAP_READ | SECTION_QUERY; |
| DWORD options = 0; |
| @@ -361,18 +349,6 @@ bool SharedMemory::ShareToProcessCommon(ProcessHandle process, |
| HANDLE result; |
| if (!read_only_) |
| access |= FILE_MAP_WRITE; |
| - if (close_self) { |
| - // DUPLICATE_CLOSE_SOURCE causes DuplicateHandle to close mapped_file. |
| - options = DUPLICATE_CLOSE_SOURCE; |
| - HANDLE detached_handle = mapped_file_.Take(); |
| - DCHECK_EQ(detached_handle, mapped_file); |
| - Unmap(); |
| - } |
| - |
| - if (process == GetCurrentProcess() && close_self) { |
| - *new_handle = SharedMemoryHandle(mapped_file, base::GetCurrentProcId()); |
| - return true; |
| - } |
| if (!::DuplicateHandle(GetCurrentProcess(), mapped_file, process, &result, |
| access, FALSE, options)) { |