Commit Graph
4 Commits
Author SHA1 Message Date
LeandroLP23andClaude Opus 5.5 cf020e1a06 test(libkernel): cover scePthreadEqual and scePthreadYield
Neither had a test. The join-self test now checks that a thread equals
itself, that the creator's handle of it equals itself and differs from
the creating thread, and that the thread continues after scePthreadYield.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 15:17:22 +01:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
milescovielloandClaude Opus 5.5 4ebc7d7d43 fix(libkernel): answer a join of the calling thread before its detach state
scePthreadJoin checked whether the thread was detached before whether it
was the calling thread. So a detached thread joining itself got EINVAL
instead of EDEADLK, and so did the main thread, which scePthreadSelf
adopts as detached. FreeBSD's join checks the calling thread right after
the null check and before it looks at the detach state. The self check
now comes first; the null, detached and already-joined answers are
unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 02:41:38 +00:00
hugodearaujoandClaude Opus 5.5 0b7e4ddf9f fix(libkernel): join the calling thread and create from an unset attribute as the console does
On a PS5 (firmware 13.60) scePthreadJoin on the calling thread returns
EDEADLK and scePthreadCreate with a zeroed attribute creates a thread
with the default attributes. Here both threw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 21:09:08 -03:00