This situation may happen like so: Thread 1 with low priority calls WaitProcessWideKey with timeout. Thread 2 with high priority calls WaitProcessWideKey without timeout. Thread 3 calls SignalProcessWideKey - Thread 2 acquires the lock and awakens. - Thread 1 can't acquire the lock and is put to sleep with the lock owner being Thread 2. Thread 1's timeout expires, with the lock owner still being set to Thread 2. |
||
---|---|---|
.. | ||
arm | ||
file_sys | ||
frontend | ||
gdbstub | ||
hle | ||
hw | ||
loader | ||
tracer | ||
CMakeLists.txt | ||
core_cpu.cpp | ||
core_cpu.h | ||
core_timing.cpp | ||
core_timing.h | ||
core.cpp | ||
core.h | ||
memory_hook.cpp | ||
memory_hook.h | ||
memory_setup.h | ||
memory.cpp | ||
memory.h | ||
perf_stats.cpp | ||
perf_stats.h | ||
settings.cpp | ||
settings.h | ||
telemetry_session.cpp | ||
telemetry_session.h |