| Index: components/discardable_memory/service/discardable_shared_memory_manager.cc
|
| diff --git a/components/discardable_memory/service/discardable_shared_memory_manager.cc b/components/discardable_memory/service/discardable_shared_memory_manager.cc
|
| index 1036dc84d697ed5324d2f181a15b7b618cdddf46..7351d123c61988add308b58c7295985a7b49cf9a 100644
|
| --- a/components/discardable_memory/service/discardable_shared_memory_manager.cc
|
| +++ b/components/discardable_memory/service/discardable_shared_memory_manager.cc
|
| @@ -213,15 +213,13 @@ std::unique_ptr<base::DiscardableMemory>
|
| DiscardableSharedMemoryManager::AllocateLockedDiscardableMemory(size_t size) {
|
| DCHECK_NE(size, 0u);
|
|
|
| - DiscardableSharedMemoryId new_id =
|
| - g_next_discardable_shared_memory_id.GetNext();
|
| - base::ProcessHandle current_process_handle = base::GetCurrentProcessHandle();
|
| + int32_t new_id = g_next_discardable_shared_memory_id.GetNext();
|
|
|
| // Note: Use DiscardableSharedMemoryHeap for in-process allocation
|
| // of discardable memory if the cost of each allocation is too high.
|
| base::SharedMemoryHandle handle;
|
| - AllocateLockedDiscardableSharedMemory(
|
| - current_process_handle, kInvalidUniqueClientID, size, new_id, &handle);
|
| + AllocateLockedDiscardableSharedMemory(kInvalidUniqueClientID, size, new_id,
|
| + &handle);
|
| std::unique_ptr<base::DiscardableSharedMemory> memory(
|
| new base::DiscardableSharedMemory(handle));
|
| if (!memory->Map(size))
|
| @@ -308,17 +306,16 @@ bool DiscardableSharedMemoryManager::OnMemoryDump(
|
|
|
| void DiscardableSharedMemoryManager::
|
| AllocateLockedDiscardableSharedMemoryForClient(
|
| - base::ProcessHandle process_handle,
|
| int client_id,
|
| size_t size,
|
| - DiscardableSharedMemoryId id,
|
| + int32_t id,
|
| base::SharedMemoryHandle* shared_memory_handle) {
|
| - AllocateLockedDiscardableSharedMemory(process_handle, client_id, size, id,
|
| + AllocateLockedDiscardableSharedMemory(client_id, size, id,
|
| shared_memory_handle);
|
| }
|
|
|
| void DiscardableSharedMemoryManager::ClientDeletedDiscardableSharedMemory(
|
| - DiscardableSharedMemoryId id,
|
| + int32_t id,
|
| int client_id) {
|
| DeletedDiscardableSharedMemory(id, client_id);
|
| }
|
| @@ -380,10 +377,9 @@ void DiscardableSharedMemoryManager::OnMemoryStateChange(
|
| }
|
|
|
| void DiscardableSharedMemoryManager::AllocateLockedDiscardableSharedMemory(
|
| - base::ProcessHandle process_handle,
|
| int client_id,
|
| size_t size,
|
| - DiscardableSharedMemoryId id,
|
| + int32_t id,
|
| base::SharedMemoryHandle* shared_memory_handle) {
|
| base::AutoLock lock(lock_);
|
|
|
| @@ -416,11 +412,7 @@ void DiscardableSharedMemoryManager::AllocateLockedDiscardableSharedMemory(
|
| return;
|
| }
|
|
|
| - if (!memory->ShareToProcess(process_handle, shared_memory_handle)) {
|
| - LOG(ERROR) << "Cannot share discardable memory segment";
|
| - *shared_memory_handle = base::SharedMemory::NULLHandle();
|
| - return;
|
| - }
|
| + *shared_memory_handle = base::SharedMemory::DuplicateHandle(memory->handle());
|
|
|
| // Close file descriptor to avoid running out.
|
| memory->Close();
|
| @@ -445,7 +437,7 @@ void DiscardableSharedMemoryManager::AllocateLockedDiscardableSharedMemory(
|
| }
|
|
|
| void DiscardableSharedMemoryManager::DeletedDiscardableSharedMemory(
|
| - DiscardableSharedMemoryId id,
|
| + int32_t id,
|
| int client_id) {
|
| base::AutoLock lock(lock_);
|
|
|
|
|