Files
AnyPS5/docs/dev
milescovielloandClaude Opus 5.5 bdead6944b fix(libkernel): handle fcntl and FIONREAD on a host socket descriptor
On Linux and macOS, fcntl and ioctl threw "descriptor N is neither a
file, a directory, a pipe nor a character device" for a host socket that
is not a guest socket. That is what a standard descriptor is when a
service manager connects it to its journal, or when a test runner starts
the process with a socket as stdin; guest_kernel_fcntl's standard input
check aborts then.

A socket is now its own descriptor kind. Its status and close-on-exec
flags go through the host as for a pipe end, FIONREAD asks the host,
record locks and read-ahead hints fail with EBADF as FreeBSD's
kern_fcntl fails them on a descriptor without a vnode, and O_ASYNC
throws as on a pipe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 04:44:36 +00:00
..