mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-08 07:51:28 +12:00
SPU: fix possible livelock
The bug affects TSX path
This commit is contained in:
parent
3681507136
commit
0797164fac
4 changed files with 33 additions and 19 deletions
|
@ -964,7 +964,7 @@ extern bool ppu_stwcx(ppu_thread& ppu, u32 addr, u32 reg_value)
|
|||
|
||||
if (s_use_rtm && utils::transaction_enter())
|
||||
{
|
||||
if (!vm::g_mutex.is_lockable())
|
||||
if (!vm::g_mutex.is_lockable() || vm::g_mutex.is_reading())
|
||||
{
|
||||
_xabort(0);
|
||||
}
|
||||
|
@ -1008,7 +1008,7 @@ extern bool ppu_stdcx(ppu_thread& ppu, u32 addr, u64 reg_value)
|
|||
|
||||
if (s_use_rtm && utils::transaction_enter())
|
||||
{
|
||||
if (!vm::g_mutex.is_lockable())
|
||||
if (!vm::g_mutex.is_lockable() || vm::g_mutex.is_reading())
|
||||
{
|
||||
_xabort(0);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue