mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-27 12:18:35 +01:00
Ignore deleted callbacks early in the chain.
This also ensures they won't prevent future callbacks from running.
This commit is contained in:
1 parent
b02224615f
commit
a218dcc0f0
1 file changed
+11
-2
@@ -1943,8 +1943,17 @@ bool __KernelCheckThreadCallbacks(Thread *thread, bool force)
|
||||
if (thread->readyCallbacks[i].size()) {
|
||||
SceUID readyCallback = thread->readyCallbacks[i].front();
|
||||
thread->readyCallbacks[i].pop_front();
|
||||
__KernelRunCallbackOnThread(readyCallback, thread, !force); // makes pending
|
||||
return true;
|
||||
|
||||
// If the callback was deleted, we're good. Just skip it.
|
||||
if (kernelObjects.IsValid(readyCallback))
|
||||
{
|
||||
__KernelRunCallbackOnThread(readyCallback, thread, !force); // makes pending
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
WARN_LOG(HLE, "Ignoring deleted callback %08x", readyCallback);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
Reference in new issue
Block a user