Handle empty mutex attribute

- scePthreadMutexInit did not return default when the mutex attributes were empty, now it does
This commit is contained in:
microsoftv 2024-08-09 14:33:39 -04:00
parent ea4ae56f4d
commit 4e54f054d6

View file

@ -421,13 +421,17 @@ ScePthreadMutex* createMutex(ScePthreadMutex* addr) {
return addr;
}
int PS4_SYSV_ABI scePthreadMutexInit(ScePthreadMutex* mutex, const ScePthreadMutexattr* attr,
int PS4_SYSV_ABI scePthreadMutexInit(ScePthreadMutex* mutex, const ScePthreadMutexattr* mutex_attr,
const char* name) {
const ScePthreadMutexattr* attr;
if (mutex == nullptr) {
return SCE_KERNEL_ERROR_EINVAL;
}
if (attr == nullptr) {
if (mutex_attr == nullptr || *mutex_attr == nullptr) {
attr = g_pthread_cxt->getDefaultMutexattr();
} else {
attr = mutex_attr;
}
*mutex = new PthreadMutexInternal{};