Init/shutdown mutex

This commit is contained in:
Henrik Rydgård 2012-12-23 11:19:55 +01:00
parent 862a11e7be
commit 4a4d126dc7
3 changed files with 14 additions and 2 deletions

View file

@ -77,6 +77,7 @@ void __KernelInit()
__KernelMemoryInit();
__KernelThreadingInit();
__KernelMutexInit();
__IoInit();
__AudioInit();
__SasInit();
@ -115,6 +116,7 @@ void __KernelShutdown()
__IoShutdown();
__InterruptsShutdown();
__KernelThreadingShutdown();
__KernelMutexShutdown();
__KernelMemoryShutdown();
CoreTiming::ClearPendingEvents();

View file

@ -123,6 +123,13 @@ void __KernelMutexInit()
__KernelListenThreadEnd(&__KernelMutexThreadEnd);
mutexInitComplete = true;
mutexWaitTimer = 0;
lwMutexWaitTimer = 0;
}
void __KernelMutexShutdown()
{
mutexHeldLocks.clear();
}
void __KernelMutexAcquireLock(Mutex *mutex, int count, SceUID thread)
@ -856,4 +863,4 @@ int sceKernelUnlockLwMutex(u32 workareaPtr, int count)
Memory::WriteStruct(workareaPtr, &workarea);
return 0;
}
}

View file

@ -34,4 +34,7 @@ int sceKernelUnlockLwMutex(u32 workareaPtr, int count);
void __KernelMutexTimeout(u64 userdata, int cyclesLate);
void __KernelLwMutexTimeout(u64 userdata, int cyclesLate);
void __KernelMutexThreadEnd(SceUID thread);
void __KernelMutexThreadEnd(SceUID thread);
void __KernelMutexInit();
void __KernelMutexShutdown();