diff options
author | bunnei <bunneidev@gmail.com> | 2022-01-27 12:17:14 -0800 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2022-01-27 12:17:14 -0800 |
commit | 3a1a3dd0db4256eef6382706c84c7b908b48bccd (patch) | |
tree | c042cfa45d8c043371e7e41d16ec619be5ed5803 /src/input_common/drivers/sdl_driver.cpp | |
parent | 8a244dd3d34e3c9ded99fa3f0cdb7ca8e175cf96 (diff) |
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/input_common/drivers/sdl_driver.cpp')
0 files changed, 0 insertions, 0 deletions