AnyPS5/core/libs/prx/libkernel/Pthread/src
Hussein Kadhim 709c12e133 fix(libkernel): return EPERM or EINVAL when a condition wait gets a mutex the caller does not hold
pthread_cond_wait and pthread_cond_timedwait, and their sce counterparts, threw a
host exception when the mutex was unlocked, locked by another thread, or not yet
initialized, and dereferenced the adaptive static initializer. FreeBSD returns
EPERM for these (EINVAL for a destroyed mutex) before touching the condition.

(cherry picked from commit a78bb8a855ca3b277f128c6a9e52ff3949b9cb80)
2026-10-11 01:53:12 +02:00
..
Attr.cpp fix(libkernel): return EINVAL for thread stack sizes below 16 KiB 2026-10-07 22:31:44 -04:00
Cond.cpp fix(libkernel): return EPERM or EINVAL when a condition wait gets a mutex the caller does not hold 2026-10-11 01:53:12 +02:00
Mutex.cpp fix(libkernel): keep Unity GC delivery out of MinGW TLS waits 2026-10-10 03:06:40 +03:00
Rwlock.cpp fix(libkernel): return EBUSY when destroying locked rwlock 2026-10-11 01:37:26 +02:00
Sem.cpp feat(libkernel): implement thread cancellation 2026-10-10 11:32:09 +02:00
Thread.cpp fix(libkernel): keep host stack room below guest thread stacks 2026-10-10 22:41:03 +13:00
Tsd.cpp fix(libkernel): keep Unity GC delivery out of MinGW TLS waits 2026-10-10 03:06:40 +03:00