]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: socket poll support — wire ksocket_poll into sock_fops
authorTulio A M Mendes <[email protected]>
Fri, 13 Feb 2026 23:52:38 +0000 (20:52 -0300)
committerTulio A M Mendes <[email protected]>
Fri, 13 Feb 2026 23:52:38 +0000 (20:52 -0300)
commit7821d4365f4009534fb21229c4116efd147e3c5c
treee9eed4a83a8415794dd28f805abc82d3d3a6d475
parentac99ae3eca705c582af11b78f7dbca89ccf942bf
feat: socket poll support — wire ksocket_poll into sock_fops

poll()/select() now works correctly on socket file descriptors.

- socket.c: added ksocket_poll() that checks socket readiness based
  on state (CONNECTED/LISTENING/PEER_CLOSED), rx_count, aq_count,
  and error flag; returns VFS_POLL_IN/OUT/ERR/HUP as appropriate
- socket.h: declared ksocket_poll()
- syscall.c: added sock_node_poll() wrapper and wired .poll into
  sock_fops — sockets now participate in the generic f_ops->poll
  dispatch path in poll_wait_kfds

Previously socket fds in poll/select silently reported ready via
the fallback path. Now they report actual readiness.

20/20 smoke tests pass.
include/socket.h
src/kernel/socket.c
src/kernel/syscall.c