diff options
| author | 2022-01-27 12:17:14 -0800 | |
|---|---|---|
| committer | 2022-01-27 12:17:14 -0800 | |
| commit | 3a1a3dd0db4256eef6382706c84c7b908b48bccd (patch) | |
| tree | c042cfa45d8c043371e7e41d16ec619be5ed5803 /src/shader_recompiler/backend/glasm/glasm_emit_context.cpp | |
| parent | Merge pull request #7783 from lioncash/abi-cexpr (diff) | |
| download | yuzu-3a1a3dd0db4256eef6382706c84c7b908b48bccd.tar.gz yuzu-3a1a3dd0db4256eef6382706c84c7b908b48bccd.tar.xz yuzu-3a1a3dd0db4256eef6382706c84c7b908b48bccd.zip | |
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
- Previously, it was possible for a thread migration to occur from core A to core B.
- Next, core B waits on a guest lock that must be released by a thread queued for core A.
- Meanwhile, core A is still waiting on the core B's current thread lock - resulting in a deadlock.
- Fix this by try-locking the thread lock.
- Fixes softlocks in FF8 and Pokemon Legends Arceus.
Diffstat (limited to 'src/shader_recompiler/backend/glasm/glasm_emit_context.cpp')
0 files changed, 0 insertions, 0 deletions