xs_tcp_send_request(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ xs_tcp_send_request(9) ✨

okay so this is a page from the Kernel API Manual, and it's literally all about xs_tcp_send_request β€” the little icon that pushes your RPC request out onto a TCP socket. bestie, let's get into it πŸ’…


🌸 NAME 🌸

xs_tcp_send_request β€” write an RPC request to a TCP socket ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

int xs_tcp_send_request (struct rpc_rqst *req );

πŸŽ€ ARGUMENTS πŸŽ€

  • req β€” pointer to RPC request πŸ‘‘ (yes that's it, that's the whole vibe)

πŸ’– DESCRIPTION πŸ’–

So here's the tea β˜• β€” this thing returns an int, and the value it gives you tells you exactly what went down. Return values, bestie:

  • 0 β€” The request has been sent βœ… slay, it worked
  • EAGAIN β€” The socket was blocked, please call again later to complete the request 😭 lowkey annoying but just come back later, it's fine
  • ENOTCONN β€” Caller needs to invoke connect logic then call again 🫢 so go connect first, then try again
  • other β€” Some other error occurred, the request was not sent πŸ’€ not the vibe
XXX: In the case of soft timeouts, should we eventually give up if sendmsg is not able to make progress? πŸ€” ngl this is an open question the page just... leaves hanging there. iconic of it, honestly.

🌈 SEE ALSO 🌈

Kernel file ./net/sunrpc/xprtsock.c β€” and here's the whole friend group, fr fr (iykyk):


and that's the whole page, bestie πŸ’œ it lives in ./net/sunrpc, dated October 2026, and it's literally called xs_tcp_send_request(9). go off, kernel docs πŸ‘‘βœ¨πŸ¦‹

πŸ“¦ where this page comes from