mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-29 14:26:53 +01:00
fix pthread init abi
This commit is contained in:
+10
-7
@@ -1849,8 +1849,9 @@ static int PthreadMutexInitNamed(PthreadMutex* mutex, const PthreadMutexattr* at
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int KYTY_SYSV_ABI PthreadMutexInit(PthreadMutex* mutex, const PthreadMutexattr* attr) {
|
int KYTY_SYSV_ABI PthreadMutexInit(PthreadMutex* mutex, const PthreadMutexattr* attr,
|
||||||
return PthreadMutexInitNamed(mutex, attr, "");
|
const char* name) {
|
||||||
|
return PthreadMutexInitNamed(mutex, attr, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
int KYTY_SYSV_ABI PthreadMutexDestroy(PthreadMutex* mutex) {
|
int KYTY_SYSV_ABI PthreadMutexDestroy(PthreadMutex* mutex) {
|
||||||
@@ -2443,8 +2444,9 @@ static int PthreadRwlockInitNamed(PthreadRwlock* rwlock, const PthreadRwlockattr
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int KYTY_SYSV_ABI PthreadRwlockInit(PthreadRwlock* rwlock, const PthreadRwlockattr* attr) {
|
int KYTY_SYSV_ABI PthreadRwlockInit(PthreadRwlock* rwlock, const PthreadRwlockattr* attr,
|
||||||
return PthreadRwlockInitNamed(rwlock, attr, "");
|
const char* name) {
|
||||||
|
return PthreadRwlockInitNamed(rwlock, attr, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static PthreadRwlockPrivate::Reader* RwlockFindReader(PthreadRwlock rwlock, Pthread thread) {
|
static PthreadRwlockPrivate::Reader* RwlockFindReader(PthreadRwlock rwlock, Pthread thread) {
|
||||||
@@ -2938,8 +2940,9 @@ static int PthreadCondInitNamed(PthreadCond* cond, const PthreadCondattr* attr,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int KYTY_SYSV_ABI PthreadCondInit(PthreadCond* cond, const PthreadCondattr* attr) {
|
int KYTY_SYSV_ABI PthreadCondInit(PthreadCond* cond, const PthreadCondattr* attr,
|
||||||
return PthreadCondInitNamed(cond, attr, "");
|
const char* name) {
|
||||||
|
return PthreadCondInitNamed(cond, attr, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
int KYTY_SYSV_ABI PthreadCondSignal(PthreadCond* cond) {
|
int KYTY_SYSV_ABI PthreadCondSignal(PthreadCond* cond) {
|
||||||
@@ -4560,7 +4563,7 @@ int KYTY_SYSV_ABI pthread_mutex_init(LibKernel::PthreadMutex* mutex,
|
|||||||
const LibKernel::PthreadMutexattr* attr) {
|
const LibKernel::PthreadMutexattr* attr) {
|
||||||
PRINT_NAME();
|
PRINT_NAME();
|
||||||
|
|
||||||
return POSIX_PTHREAD_CALL(LibKernel::PthreadMutexInit(mutex, attr));
|
return POSIX_PTHREAD_CALL(LibKernel::PthreadMutexInit(mutex, attr, nullptr));
|
||||||
}
|
}
|
||||||
|
|
||||||
int KYTY_SYSV_ABI pthread_mutexattr_init(LibKernel::PthreadMutexattr* attr) {
|
int KYTY_SYSV_ABI pthread_mutexattr_init(LibKernel::PthreadMutexattr* attr) {
|
||||||
|
|||||||
@@ -77,7 +77,8 @@ int KYTY_SYSV_ABI PthreadMutexattrInit(PthreadMutexattr* attr);
|
|||||||
int KYTY_SYSV_ABI PthreadMutexattrDestroy(PthreadMutexattr* attr);
|
int KYTY_SYSV_ABI PthreadMutexattrDestroy(PthreadMutexattr* attr);
|
||||||
int KYTY_SYSV_ABI PthreadMutexattrSettype(PthreadMutexattr* attr, int type);
|
int KYTY_SYSV_ABI PthreadMutexattrSettype(PthreadMutexattr* attr, int type);
|
||||||
int KYTY_SYSV_ABI PthreadMutexattrSetprotocol(PthreadMutexattr* attr, int protocol);
|
int KYTY_SYSV_ABI PthreadMutexattrSetprotocol(PthreadMutexattr* attr, int protocol);
|
||||||
int KYTY_SYSV_ABI PthreadMutexInit(PthreadMutex* mutex, const PthreadMutexattr* attr);
|
int KYTY_SYSV_ABI PthreadMutexInit(PthreadMutex* mutex, const PthreadMutexattr* attr,
|
||||||
|
const char* name);
|
||||||
int KYTY_SYSV_ABI PthreadMutexDestroy(PthreadMutex* mutex);
|
int KYTY_SYSV_ABI PthreadMutexDestroy(PthreadMutex* mutex);
|
||||||
int KYTY_SYSV_ABI PthreadMutexLock(PthreadMutex* mutex);
|
int KYTY_SYSV_ABI PthreadMutexLock(PthreadMutex* mutex);
|
||||||
int KYTY_SYSV_ABI PthreadMutexTrylock(PthreadMutex* mutex);
|
int KYTY_SYSV_ABI PthreadMutexTrylock(PthreadMutex* mutex);
|
||||||
@@ -159,7 +160,8 @@ int KYTY_SYSV_ABI PthreadAttrSetstackaddr(PthreadAttr* attr, void* addr);
|
|||||||
int KYTY_SYSV_ABI PthreadAttrSetstacksize(PthreadAttr* attr, size_t stack_size);
|
int KYTY_SYSV_ABI PthreadAttrSetstacksize(PthreadAttr* attr, size_t stack_size);
|
||||||
|
|
||||||
int KYTY_SYSV_ABI PthreadRwlockDestroy(PthreadRwlock* rwlock);
|
int KYTY_SYSV_ABI PthreadRwlockDestroy(PthreadRwlock* rwlock);
|
||||||
int KYTY_SYSV_ABI PthreadRwlockInit(PthreadRwlock* rwlock, const PthreadRwlockattr* attr);
|
int KYTY_SYSV_ABI PthreadRwlockInit(PthreadRwlock* rwlock, const PthreadRwlockattr* attr,
|
||||||
|
const char* name);
|
||||||
int KYTY_SYSV_ABI PthreadRwlockRdlock(PthreadRwlock* rwlock);
|
int KYTY_SYSV_ABI PthreadRwlockRdlock(PthreadRwlock* rwlock);
|
||||||
int KYTY_SYSV_ABI PthreadRwlockTimedrdlock(PthreadRwlock* rwlock, KernelUseconds usec);
|
int KYTY_SYSV_ABI PthreadRwlockTimedrdlock(PthreadRwlock* rwlock, KernelUseconds usec);
|
||||||
int KYTY_SYSV_ABI PthreadRwlockTimedwrlock(PthreadRwlock* rwlock, KernelUseconds usec);
|
int KYTY_SYSV_ABI PthreadRwlockTimedwrlock(PthreadRwlock* rwlock, KernelUseconds usec);
|
||||||
@@ -177,7 +179,7 @@ int KYTY_SYSV_ABI PthreadCondattrInit(PthreadCondattr* attr);
|
|||||||
int KYTY_SYSV_ABI PthreadCondattrSetclock(PthreadCondattr* attr, KernelClockid clock_id);
|
int KYTY_SYSV_ABI PthreadCondattrSetclock(PthreadCondattr* attr, KernelClockid clock_id);
|
||||||
int KYTY_SYSV_ABI PthreadCondBroadcast(PthreadCond* cond);
|
int KYTY_SYSV_ABI PthreadCondBroadcast(PthreadCond* cond);
|
||||||
int KYTY_SYSV_ABI PthreadCondDestroy(PthreadCond* cond);
|
int KYTY_SYSV_ABI PthreadCondDestroy(PthreadCond* cond);
|
||||||
int KYTY_SYSV_ABI PthreadCondInit(PthreadCond* cond, const PthreadCondattr* attr);
|
int KYTY_SYSV_ABI PthreadCondInit(PthreadCond* cond, const PthreadCondattr* attr, const char* name);
|
||||||
int KYTY_SYSV_ABI PthreadCondSignal(PthreadCond* cond);
|
int KYTY_SYSV_ABI PthreadCondSignal(PthreadCond* cond);
|
||||||
int KYTY_SYSV_ABI PthreadCondSignalto(PthreadCond* cond, Pthread thread);
|
int KYTY_SYSV_ABI PthreadCondSignalto(PthreadCond* cond, Pthread thread);
|
||||||
int KYTY_SYSV_ABI PthreadCondTimedwait(PthreadCond* cond, PthreadMutex* mutex, KernelUseconds usec);
|
int KYTY_SYSV_ABI PthreadCondTimedwait(PthreadCond* cond, PthreadMutex* mutex, KernelUseconds usec);
|
||||||
|
|||||||
+4
-4
@@ -481,13 +481,13 @@ static KYTY_SYSV_ABI int MtxInit(LibKernel::PthreadMutex* mtx, int type) {
|
|||||||
|
|
||||||
constexpr int mtx_recursive = 0x100;
|
constexpr int mtx_recursive = 0x100;
|
||||||
if ((type & mtx_recursive) == 0) {
|
if ((type & mtx_recursive) == 0) {
|
||||||
return mtx_result(LibKernel::PthreadMutexInit(mtx, nullptr));
|
return mtx_result(LibKernel::PthreadMutexInit(mtx, nullptr, nullptr));
|
||||||
}
|
}
|
||||||
|
|
||||||
LibKernel::PthreadMutexattr attr = nullptr;
|
LibKernel::PthreadMutexattr attr = nullptr;
|
||||||
int result = LibKernel::PthreadMutexattrInit(&attr);
|
int result = LibKernel::PthreadMutexattrInit(&attr);
|
||||||
result = (result == OK ? LibKernel::PthreadMutexattrSettype(&attr, 2) : result);
|
result = (result == OK ? LibKernel::PthreadMutexattrSettype(&attr, 2) : result);
|
||||||
result = (result == OK ? LibKernel::PthreadMutexInit(mtx, &attr) : result);
|
result = (result == OK ? LibKernel::PthreadMutexInit(mtx, &attr, nullptr) : result);
|
||||||
(void)LibKernel::PthreadMutexattrDestroy(&attr);
|
(void)LibKernel::PthreadMutexattrDestroy(&attr);
|
||||||
|
|
||||||
return mtx_result(result);
|
return mtx_result(result);
|
||||||
@@ -659,8 +659,8 @@ void KYTY_SYSV_ABI LibcHeapGetTraceInfo(Info* info) {
|
|||||||
info->mstate_table = g_mstate_table;
|
info->mstate_table = g_mstate_table;
|
||||||
}
|
}
|
||||||
|
|
||||||
int KYTY_SYSV_ABI LibcInternalExtCxaThreadAtexit(thread_atexit_destructor_t destructor, void* object,
|
int KYTY_SYSV_ABI LibcInternalExtCxaThreadAtexit(thread_atexit_destructor_t destructor,
|
||||||
void* /*module_id*/) {
|
void* object, void* /*module_id*/) {
|
||||||
PRINT_NAME();
|
PRINT_NAME();
|
||||||
|
|
||||||
g_thread_atexit_destructors.push_back({destructor, object});
|
g_thread_atexit_destructors.push_back({destructor, object});
|
||||||
|
|||||||
Reference in New Issue
Block a user