mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-21 09:40:01 +00:00
Fix futile wait regression in sys_lwcond_signal
This commit is contained in:
parent
d1a46b491e
commit
ce01457510
@ -149,6 +149,8 @@ error_code _sys_lwcond_signal(ppu_thread& ppu, u32 lwcond_id, u32 lwmutex_id, u6
|
||||
return 0;
|
||||
}
|
||||
|
||||
cond.waiters--;
|
||||
|
||||
if (mode == 2)
|
||||
{
|
||||
static_cast<ppu_thread*>(result)->gpr[3] = CELL_EBUSY;
|
||||
@ -178,8 +180,6 @@ error_code _sys_lwcond_signal(ppu_thread& ppu, u32 lwcond_id, u32 lwmutex_id, u6
|
||||
}
|
||||
}
|
||||
|
||||
cond.waiters--;
|
||||
|
||||
if (result)
|
||||
{
|
||||
cond.awake(result);
|
||||
@ -262,10 +262,10 @@ error_code _sys_lwcond_signal_all(ppu_thread& ppu, u32 lwcond_id, u32 lwmutex_id
|
||||
}
|
||||
}
|
||||
|
||||
cond.waiters = 0;
|
||||
|
||||
while (const auto cpu = cond.schedule<ppu_thread>(cond.sq, cond.protocol))
|
||||
{
|
||||
cond.waiters--;
|
||||
|
||||
if (mode == 2)
|
||||
{
|
||||
static_cast<ppu_thread*>(cpu)->gpr[3] = CELL_EBUSY;
|
||||
|
Loading…
x
Reference in New Issue
Block a user