From 8c95a521d093fbf3766360c4c85d1d07612009c6 Mon Sep 17 00:00:00 2001 From: Stephen Miller Date: Wed, 13 Nov 2024 11:44:44 -0600 Subject: [PATCH] Skip destruction of adaptive mutex initializers Based around similar behaviors implemented in the more-kernel branch. Hatsune Miku Project Diva X needs this. --- src/core/libraries/kernel/thread_management.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/libraries/kernel/thread_management.cpp b/src/core/libraries/kernel/thread_management.cpp index 39c0eaf80..85f618090 100644 --- a/src/core/libraries/kernel/thread_management.cpp +++ b/src/core/libraries/kernel/thread_management.cpp @@ -477,6 +477,10 @@ int PS4_SYSV_ABI scePthreadMutexDestroy(ScePthreadMutex* mutex) { return SCE_KERNEL_ERROR_EINVAL; } + if (*mutex == ORBIS_PTHREAD_MUTEX_ADAPTIVE_INITIALIZER) { + return ORBIS_OK; + } + int result = pthread_mutex_destroy(&(*mutex)->pth_mutex); LOG_DEBUG(Kernel_Pthread, "name={}, result={}", (*mutex)->name, result);