From d09899722d97e51308842e10b028991936d9a02d Mon Sep 17 00:00:00 2001 From: MrPurple666 Date: Sat, 17 May 2025 01:33:47 -0300 Subject: [PATCH] Use clear method to use clear free memory --- src/common/free_region_manager.h | 8 +++++++- src/common/host_memory.cpp | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/common/free_region_manager.h b/src/common/free_region_manager.h index e282a35cca..738dde6bdb 100644 --- a/src/common/free_region_manager.h +++ b/src/common/free_region_manager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +;;;// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -12,6 +12,12 @@ class FreeRegionManager { public: explicit FreeRegionManager() = default; ~FreeRegionManager() = default; + + // Clear all free regions + void Clear() { + std::scoped_lock lk(m_mutex); + m_free_regions.clear(); + } void SetAddressSpace(void* start, size_t size) { this->FreeBlock(start, size); diff --git a/src/common/host_memory.cpp b/src/common/host_memory.cpp index 3eee0b66d5..d06522ec2c 100644 --- a/src/common/host_memory.cpp +++ b/src/common/host_memory.cpp @@ -592,7 +592,7 @@ private: void Release() { // Make sure we release resources in the correct order // First clear the free region manager to avoid any dangling references - free_manager = {}; + free_manager.Clear(); if (virtual_map_base != MAP_FAILED) { int ret = munmap(virtual_map_base, virtual_size);