shadPS4/src/core
w1naenator 363f97299d What Changed
- Added a non-alertable zero-time semaphore acquire path for wake draining on Windows.
- Added wait-generation tracking per thread and generation-aware deferred wake entries.
- Changed wake delivery so a wake is released only if waiter generation still matches (prevents stale wake release).
- Added stale carryover filtering in wait loop for the N→N+1 wake-token race window.

What this fixes:

- Prevents obsolete wake tokens from corrupting condvar state on Windows.
- Removes the need for workaround behavior that masked unexpected wakes.
- Restores stable wait/wake behavior while staying close to original main style.
2026-03-13 03:20:41 +02:00
..
aerolib Lib.SysModule: Proper HLE implementation (#4102) 2026-03-08 21:48:03 +02:00
devtools Volume hotkey: show volume value, set game_specific arg correctly, clamp value (#4009) 2026-02-08 18:15:11 +02:00
file_format Introducing key_manager for storing encryption keys . (#3935) 2026-01-19 18:49:57 +02:00
file_sys Kernel.Event: Implement kqueue and kevent (#4065) 2026-02-22 23:41:05 +02:00
ipc tweak LoadFigure and RemoveFigure (#4071) 2026-02-23 21:30:57 +02:00
libraries What Changed 2026-03-13 03:20:41 +02:00
loader Core: Simulate write-only file access with read-write access (#3360) 2025-11-04 10:57:26 +02:00
address_space.cpp Prevent protects during unmaps (#4029) 2026-02-13 08:34:24 +02:00
address_space.h Kernel.Vmm: Attempt to address race conditions involving ClampRangeSize, CopySparseMemory, and TryWriteBacking (#3956) 2026-01-27 12:25:23 +02:00
cpu_patches.cpp Improve signal emulation (#4108) 2026-03-09 14:20:14 +02:00
cpu_patches.h cpu_patches: Remove CPU patches for macOS and bump minimum OS version to 15.4 (#2743) 2025-04-03 22:39:08 +03:00
debug_state.cpp Implement guest signal handlers (#4064) 2026-02-22 18:56:54 +02:00
debug_state.h amdgpu: Split liverpool registers and cleanup (#3707) 2025-10-05 13:42:40 -07:00
debugger.cpp Impl sceSystemServiceLoadExec (#3647) 2025-09-25 23:01:52 -03:00
debugger.h Impl sceSystemServiceLoadExec (#3647) 2025-09-25 23:01:52 -03:00
emulator_state.cpp Volume hotkey: show volume value, set game_specific arg correctly, clamp value (#4009) 2026-02-08 18:15:11 +02:00
emulator_state.h Volume hotkey: show volume value, set game_specific arg correctly, clamp value (#4009) 2026-02-08 18:15:11 +02:00
linker.cpp Improve signal emulation (#4108) 2026-03-09 14:20:14 +02:00
linker.h Relocate imports on HLE loads (#4113) 2026-03-10 07:25:45 +02:00
memory.cpp Fix deadlock from missed unlock call after #3946 (#4013) 2026-02-09 16:40:47 +02:00
memory.h Kernel.Vmm: Attempt to address race conditions involving ClampRangeSize, CopySparseMemory, and TryWriteBacking (#3956) 2026-01-27 12:25:23 +02:00
module.cpp threads: initialize tls on thread creation (take 2) (#4070) 2026-02-24 20:35:05 +03:00
module.h Kernel.Process: Implement sceKernelGetModuleInfo2, sceKernelGetModuleList2 (#4001) 2026-02-08 20:07:17 +02:00
platform.h Support for Vulkan 1.4 (#1665) 2024-12-07 19:41:41 +02:00
signals.cpp Improve signal emulation (#4108) 2026-03-09 14:20:14 +02:00
signals.h Improve signal emulation (#4108) 2026-03-09 14:20:14 +02:00
thread.cpp Core: Fix MXCSR and FPUCW registers on created threads (#3568) 2025-09-10 14:32:05 -07:00
thread.h Switch remaining CRLF terminated files to LF 2024-12-24 13:56:31 +01:00
tls.cpp threads: initialize tls on thread creation (take 2) (#4070) 2026-02-24 20:35:05 +03:00
tls.h threads: initialize tls on thread creation (take 2) (#4070) 2026-02-24 20:35:05 +03:00