dolphin/Source/Core
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
..
AudioCommon feat: Add an option to preserve audio pitch when emulation speed changes, integrating it into core configuration and both Qt and Android UIs. 2026-01-27 18:48:22 -05:00
Common Common/MemArena: make shared memory name unique per DLL instance 2026-03-11 11:29:33 -07:00
Core Merge pull request #14425 from JosJuice/android-wiimote-crash 2026-02-28 16:16:20 -05:00
DiscIO DiscIO: Only allow alphanumeric ASCII in game IDs 2026-02-24 21:36:02 +01:00
DolphinNoGUI Merge pull request #14214 from JoshuaVandaele/cmake-nonbreaking-improvements 2026-01-25 18:33:46 -08:00
DolphinQt DolphinQt: Save when closing settings window 2026-03-04 22:26:25 +01:00
DolphinTool Merge pull request #14214 from JoshuaVandaele/cmake-nonbreaking-improvements 2026-01-25 18:33:46 -08:00
InputCommon DSU: Don't crash on bad hostname 2026-03-01 00:08:08 -06:00
MacUpdater Merge pull request #14036 from TellowKrinkle/SkipPostprocess 2026-01-25 22:01:29 -05:00
UICommon Added Triforce support 2026-02-15 20:14:14 -06:00
UpdaterCommon Misc: fix compiler warning: implicit declaration of function 2026-02-08 00:37:29 +01:00
VideoBackends Metal: Always run endEncoding on command encoders 2026-03-03 09:49:42 -05:00
VideoCommon VertexLoaderManager: Fix crash caused by invalid array base 2026-03-02 13:02:51 -08:00
WinUpdater Misc: fix compiler warning: implicit declaration of function 2026-02-08 00:37:29 +01:00
CMakeLists.txt CMakeLists: Embed macOS Updater app inside DolphinQt 2024-08-01 22:06:55 -04:00
DolphinLib.ARM64.props
DolphinLib.props Move RangeSet from Externals to Common 2026-02-23 22:55:38 +01:00
DolphinLib.vcxproj Core/HW: Add Broadband Adapter (IPC). 2025-10-28 18:50:59 +00:00
DolphinLib.vcxproj.user
DolphinLib.x64.props Move x64 DSP JIT into DolphinLib.x64.props 2023-01-06 22:42:21 -08:00
VersionInfo.plist.in ScmRevGen: Don't generate Info.plist files directly 2024-12-05 14:56:08 -05:00