dolphin/Source
Ryan McClelland 7be243a8b4 Common/MemArena: make shared memory name unique per DLL instance
When multiple copies of the same DLL are loaded into the same process
(e.g. for libretro multi-instance support), all copies share the same
PID. Using only the PID as the name suffix caused CreateFileMapping to
return the existing named kernel object instead of creating a new one,
so both instances silently mapped the same 4GB+ GameCube/Wii RAM region
and instantly corrupted each other.

Fix this by also embedding the address of a static-local variable in the
name. Because each DLL copy is mapped at a different base address in the
process, s_dll_id lives at a unique virtual address in every copy, so
its value acts as a stable, zero-cost, per-instance discriminator.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-11 11:29:33 -07:00
..
Android Android: Fix defaults for RetroAchievements settings 2026-02-23 19:24:58 +01:00
Core Common/MemArena: make shared memory name unique per DLL instance 2026-03-11 11:29:33 -07:00
DSPSpy Fix various typos and spelling mistakes 2026-01-17 20:11:38 +01:00
DSPTool Host: Remove unnecessary functions 2025-08-03 13:19:30 -07:00
PCH Fix various typos and spelling mistakes 2026-01-17 20:11:38 +01:00
UnitTests Network: Improve IPv4PortRange::ToString to support CIDR notation and only last octet difference. 2026-02-15 23:13:18 -06:00
VSProps Move RangeSet from Externals to Common 2026-02-23 22:55:38 +01:00
.clang-format Clang-format: Fix invalid settings 2025-05-01 22:05:07 +02:00
CMakeLists.txt Merge pull request #14251 from JoshuaVandaele/cmake-editorconfig 2026-01-11 16:28:03 -05:00
dolphin-emu.sln Core/HW: Add Visual Studio project files for cpp-ipc library. 2025-10-28 18:50:58 +00:00