Commit Graph
781 Commits
Author SHA1 Message Date
Adrià b82c33ef65 Merge pull request #9732 from simonbronk/fix/libkernel-vector-io-argument-order
fix(libkernel): check vector I/O lengths and descriptors before offsets
2026-10-26 11:54:15 +01:00
Adrià e796ed4e5e Merge pull request #9632 from EagleBearerYS/feat/libkernel-sys-libthr-names
feat(libkernel): add pthread_rwlockattr_settype_np and scePthreadMutexattrSetkind
2026-10-26 11:20:50 +01:00
SimoneandClaude Opus 5.5 88e86a7de1 fix(libkernel): check vector I/O lengths and descriptors before offsets
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 10:45:00 +01:00
Dean 9ab54a34b8 Merge pull request #11251 from orezraey/fix/libkernel-tcp-maxseg-measured-ps5
fix(libkernel): refuse TCP_MAXSEG before a connection and raise it to 216 as measured on a PS5
2026-10-26 22:11:42 +13:00
Dean 4c752cafc9 Merge pull request #10177 from orezraey/fix/libkernel-cond-destroyed-measured-ps5
fix(libkernel): mark a destroyed condition variable with 1 and accept destroying a null one, as measured on a PS5
2026-10-26 21:29:48 +13:00
Dean 27c2794a66 Merge pull request #8726 from ArjenS-LA/fix/windows-directory-link-types
fix(libkernel): classify Windows directory links by app0 scope
2026-10-26 20:36:06 +13:00
Dean a0c85ea99b Merge pull request #10501 from harisibrar1/fix/pselect-pending-signal-eintr
fix(libkernel): return EINTR from pselect when its mask unblocks a pending signal
2026-10-26 18:26:20 +13:00
Dean 0ce4b82c2d Merge pull request #10243 from orezraey/fix/libkernel-rtld-thread-atexit-measured-ps5
fix(libkernel): answer the thread atexit references as measured on a PS5
2026-10-26 16:23:13 +13:00
Dean 853ffe0f69 Merge pull request #10794 from slopgobblercobbler/feat/kernel-sys-sce-pthread-main
feat(libkernel_sys): implement scePthreadMain through pthread_main_np
2026-10-26 14:27:16 +13:00
Adrià 3b252b44fe Merge pull request #9561 from DavidSamir/feat/libkernel-fcntl-osync
feat(libkernel): sync each write on a file whose O_FSYNC flag is set
2026-10-26 02:26:06 +01:00
harisibrar1 7784604b0b Merge remote-tracking branch 'origin/main' into fix/pselect-pending-signal-eintr
# Conflicts:
#	core/libs/prx/libkernel/System/src/Signals.cpp
2026-10-25 19:35:03 -04:00
Dean 380ffe3a3a Merge pull request #10456 from alnsx/codex/fix-select-redirected-input
fix(libkernel): poll files on standard descriptors as vnodes
2026-10-26 12:09:32 +13:00
orezraeyandClaude Opus 5.5 ea02895cc0 fix(libkernel): refuse TCP_MAXSEG before a connection and raise it to 216 as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:35:33 -03:00
Adrià d19a809639 Merge pull request #9682 from Gruzzberry/feat/settimeofday
feat(libkernel_sys): implement settimeofday
2026-10-25 23:04:11 +01:00
Adrià 26ba9b6b71 Merge pull request #9499 from EagleBearerYS/fix/libkernel-signal-handler-mask
fix(libkernel): block a signal while its handler runs and honour SA_RESETHAND
2026-10-25 22:05:12 +01:00
Adrià 9dbc017c71 Merge pull request #9512 from EagleBearerYS/fix/libkernel-poll-socket-hup
fix(libkernel): clear POLLOUT from a hung-up socket in poll on Linux
2026-10-25 21:16:45 +01:00
Yunus Shaikh 3a47ea6ea4 Merge main into feat/libkernel-sys-libthr-names
Main's #9573 implements scePthreadResume right after the
scePthreadMutexattrSetkind stub this branch removes from libkernel_sys;
the merge takes main's scePthreadResume and leaves the stub out.

Main's public-header audit wants one header declaration per export, so
the merge declares this branch's scePthreadMutexattrSetkind,
scePthreadMutexattrGetkind and pthread_rwlockattr_settype_np in
libkernel's Api.hpp, drops their stub declarations from libkernel_sys's
Api.hpp, has Mutex.cpp take sceKernelError from libkernel's Api.hpp,
and has the test include the libkernel headers instead of its own
declarations.
2026-10-25 12:49:51 -07:00
Adrià aeff26bd97 Merge pull request #9573 from zaryabzip/feat/pthread-create-suspended
feat(libkernel_sys): create threads suspended and resume them
2026-10-25 20:21:07 +01:00
Adrià e1ef22e888 Merge pull request #9461 from milescoviello/fix/tsc-calibration-one-cpu
fix(libkernel): measure the TSC frequency on one CPU
2026-10-25 19:48:55 +01:00
Yunus Shaikh d0c945ce86 docs(libkernel): record how poll reports a hung-up stream socket on each host 2026-10-25 19:01:11 +01:00
Adrià 7e4f6e0440 Merge pull request #9482 from valenciana-nc/fix/pthread-attr-ended-thread
fix(libkernel): reject ended threads in pthread_attr_get_np
2026-10-25 18:14:22 +01:00
Adrià f55190f7e3 Merge pull request #9477 from EagleBearerYS/fix/libkernel-udp-unreachable-port
fix(libkernel): stop Winsock failing an unconnected datagram receive after an unreachable port
2026-10-25 18:04:34 +01:00
Adrià 08f2d02a56 Merge pull request #9171 from DavidSamir/feat/libkernel-sys-getlogin-futimesat
feat(libkernel): implement getlogin
2026-10-25 17:54:15 +01:00
zaryabzip 0b60e97834 feat(libkernel_sys): create threads suspended and resume them
Implement pthread_attr_setcreatesuspend_np, pthread_resume_np,
pthread_resume_all_np and pthread_multi_np with the sce forms
scePthreadAttrSetcreatesuspend, scePthreadResume, scePthreadResumeAll
and scePthreadMulti, following FreeBSD 11.4 libthr and the firmware
13.42 libkernel_sys module. A thread created suspended waits before its
start routine, outside any cancellation point, until it is resumed.
sceKernelRaiseException throws on Windows for a thread still suspended
at creation.
2026-10-25 21:51:02 +05:00
Yunus Shaikh f5757aab98 fix(libkernel): restore a handler's signal bit when the handler replaces the mask
A handler that read the mask and put it back with SIG_SETMASK stored its
own signal, which sigprocmask reports from the hold, in the process mask
and cleared the hold, so the signal stayed blocked after the handler
returned. pselect, setcontext and a siglongjmp inside the handler replace
the mask the same way. When the handler's own thread releases a hold, the
signal now gets back its bit from before the handler when the handler
returns, as FreeBSD's sigreturn puts back the mask from before it. A mask
another thread sets meanwhile is kept.
2026-10-25 09:49:35 -07:00
Adrià c661d9fae2 Merge pull request #9133 from fogydes/feat/libSceLibcInternal-posix-spawn
feat(libSceLibcInternal): implement posix_spawn process creation and reaping
2026-10-25 17:38:41 +01:00
alnsx 7eecb44157 chore: merge main after socket debt corrections 2026-10-25 12:23:32 -04:00
David a81fcbfacd feat(libkernel): sync each write on a file whose O_FSYNC flag is set
FreeBSD's F_SETFL may change O_FSYNC (FCNTLFLAGS), and vn_write then
writes with IO_SYNC. The flag now lives in the status table, and the
write entry points sync a regular file after the write while it is set.
2026-10-25 17:13:01 +01:00
Dean 6b46a5dfdb Merge pull request #10299 from orezraey/fix/libkernel-socket-address-measured-ps5
fix(libkernel): check socket address families and lengths as measured on a PS5
2026-10-26 04:45:05 +13:00
valenciana-nc 37ba4a9d2f fix(libkernel): reject ended threads in pthread_attr_get_np 2026-10-25 15:49:57 +01:00
Adrià FranchandClaude Sonnet 5.5 f63b27bdaa feat(libkernel): implement getlogin
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 15:07:38 +01:00
Yunus Shaikh 8be8dc83af Merge main into fix/libkernel-signal-handler-mask
Main's #10706 moves the declarations of exported functions and their types
into the libraries' public headers, and gives WaitForPendingInSet a
KernelTimespec timeout. The merge keeps this branch's DeliverUnblockedPending
and ChangeBlockedMask with main's KernelTimespec. It takes main's side of
the declarations in GuestSignalSets.cpp, whose setjmp and longjmp this
branch had added and libc's Api.hpp now declares. GuestSignalHandlerMask.cpp
includes the libkernel and libc public headers in place of its own
declarations and GuestSignalSet and GuestSigaction types, as the
public_headers audit requires.
2026-10-25 07:05:46 -07:00
GruzzberryandClaude Opus 5.5 e6b07323de feat(libkernel_sys): implement settimeofday
FreeBSD 11.4's kern_settimeofday rejects a timeval with a microsecond
field outside 0 to 999999 or a negative second field with EINVAL before
changing anything, sets the clock from a valid timeval, and then stores
the timezone, which gettimeofday reports. settimeofday now checks the
timeval the same way and throws for a valid one, as clock_settime does,
because the host clock is not changed. A timezone given without a
timeval is stored and gettimeofday reports it instead of 0 and 0.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 13:20:31 +00:00
fogydes bde7cc210a fix(libkernel): report ECHILD to a Windows waiter another thread reaps first 2026-10-25 13:57:18 +01:00
fogydes 0514307ab8 fix(libkernel): translate waitpid child statuses to the guest numbering 2026-10-25 13:57:18 +01:00
fogydes df18d83072 docs: add the spawn role variable and shorten the waitpid debt 2026-10-25 13:57:18 +01:00
fogydes 723d932f73 feat(libSceLibcInternal): implement posix_spawn process creation and reaping 2026-10-25 13:57:17 +01:00
Adrià c2e087b2a6 Merge pull request #7049 from blawesom/followup/6510
fix(libkernel): retire an EV_ONESHOT note through its delete callback and follow Windows $Deleted paths
2026-10-25 12:38:21 +01:00
orezraeyandClaude Opus 5.5 b3b0760369 Merge main into fix/libkernel-rtld-thread-atexit-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 08:05:05 -03:00
orezraeyandClaude Opus 5.5 20b38adb09 Merge main into fix/libkernel-socket-address-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 07:53:50 -03:00
Adrià c7d6660ef8 Merge pull request #9365 from thuanquang/docs/debt-sweep-kernel-sockets
docs(libkernel): correct three stale socket statements
2026-10-25 11:47:05 +01:00
Adrià 62660f3309 Merge pull request #9363 from thuanquang/docs/debt-sweep-kernel-misc
docs(libkernel): drop stale mlockall, open file limit and protection bit claims
2026-10-25 11:44:36 +01:00
Adrià 109d288487 Merge pull request #9359 from thuanquang/docs/debt-sweep-kernel-signals
docs(libkernel): drop the stale 32-signal limit from the pthread_sigmask entry
2026-10-25 11:41:41 +01:00
Adrià 43a4a36b95 Merge pull request #9298 from UnhealthyKraken/docs/kernel-cleanup-debt
docs(libkernel): record cleanup unwind and allocation limits
2026-10-25 11:38:09 +01:00
Adrià eddc9f9a09 Merge pull request #9239 from Dom3005/docs/debt-windows-directory-descriptor
docs(debt): match the Windows directory descriptor entry to the code
2026-10-25 11:34:30 +01:00
alnsx d5ed8797cc chore: merge main and use canonical test declarations 2026-10-25 05:46:51 -04:00
Dean 9a2020c220 Merge pull request #10425 from Retr0G28/fix/sendfile-nonregular-einval
fix(libkernel): fail sendfile with EINVAL for a file that is not a regular file
2026-10-25 19:29:21 +13:00
harisibrar1 b8b42143b1 Merge main e7e3e9c198 into fix/pselect-pending-signal-eintr 2026-10-25 01:24:28 -04:00
orezraeyandClaude Opus 5.5 472623ec33 docs(libkernel): mark the AF_INET bind and connect check order unmeasured
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 23:55:06 -03:00
orezraeyandClaude Opus 5.5 65e712b9c6 Merge main into fix/libkernel-socket-address-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 23:32:33 -03:00