Update SPU reservation notifier mask
This commit is contained in:
@@ -1004,7 +1004,7 @@ cpu_thread& cpu_thread::operator=(thread_state)
|
||||
{
|
||||
if (u32 resv = atomic_storage<u32>::load(thread->raddr))
|
||||
{
|
||||
vm::reservation_notifier(resv).notify_one();
|
||||
vm::reservation_notifier(resv).notify_all(-128);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1397,7 +1397,7 @@ error_code sys_spu_thread_group_terminate(ppu_thread& ppu, u32 id, s32 value)
|
||||
if (prev_resv && prev_resv != resv)
|
||||
{
|
||||
// Batch reservation notifications if possible
|
||||
vm::reservation_notifier(prev_resv).notify_all();
|
||||
vm::reservation_notifier(prev_resv).notify_all(-128);
|
||||
}
|
||||
|
||||
prev_resv = resv;
|
||||
@@ -1407,7 +1407,7 @@ error_code sys_spu_thread_group_terminate(ppu_thread& ppu, u32 id, s32 value)
|
||||
|
||||
if (prev_resv)
|
||||
{
|
||||
vm::reservation_notifier(prev_resv).notify_all();
|
||||
vm::reservation_notifier(prev_resv).notify_all(-128);
|
||||
}
|
||||
|
||||
group->exit_status = value;
|
||||
|
||||
Reference in New Issue
Block a user