diff options
author | Subv <subv2112@gmail.com> | 2016-04-19 15:56:11 -0500 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2016-05-12 20:01:59 -0500 |
commit | d261984f5460ca700c372299df64d47f32e199b9 (patch) | |
tree | 7529ed91491dde2b7864fbd9eb68ff3682a93caf /src | |
parent | abf8dcd700ce6e8af35aff9b8fa568dfe6acfecb (diff) |
Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/kernel/shared_memory.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/hle/kernel/shared_memory.cpp b/src/core/hle/kernel/shared_memory.cpp index 2b6007caa..74947f023 100644 --- a/src/core/hle/kernel/shared_memory.cpp +++ b/src/core/hle/kernel/shared_memory.cpp @@ -41,6 +41,11 @@ SharedPtr<SharedMemory> SharedMemory::Create(SharedPtr<Process> owner_process, u shared_memory->linear_heap_phys_address = Memory::FCRAM_PADDR + memory_region->base + shared_memory->backing_block_offset; + // Increase the amount of used linear heap memory for the owner process. + if (shared_memory->owner_process != nullptr) { + shared_memory->owner_process->linear_heap_used += size; + } + // Refresh the address mappings for the current process. if (Kernel::g_current_process != nullptr) { Kernel::g_current_process->vm_manager.RefreshMemoryBlockMappings(linheap_memory.get()); |