Turns out *CB() fires even when it succeeds.

This commit is contained in:
Unknown W. Brackets 2012-12-07 22:18:40 -08:00
parent 1a77b22e3a
commit ee1a729157
2 changed files with 14 additions and 0 deletions

View file

@ -430,6 +430,9 @@ void sceKernelLockMutexCB(SceUID id, int count, u32 timeoutPtr)
if (__KernelLockMutex(mutex, count, error))
{
RETURN(0);
bool callbacksProcessed = __KernelForceCallbacks();
if (callbacksProcessed)
__KernelExecutePendingMipsCalls();
}
else if (error)
RETURN(error);
@ -789,6 +792,9 @@ void sceKernelLockLwMutexCB(u32 workareaPtr, int count, u32 timeoutPtr)
{
Memory::WriteStruct(workareaPtr, &workarea);
RETURN(0);
bool callbacksProcessed = __KernelForceCallbacks();
if (callbacksProcessed)
__KernelExecutePendingMipsCalls();
}
else if (error)
RETURN(error);