- Make fetch_ssl_read() and fetch_ssl_write() behave more like read(2) and write(2), and drop fetch_socket_read() in favor of read(2).
- Don't request POLLERR, it's implied.
- Don't needlessly set errno, it's relatively costly.
- Always check for EAGAIN from writev(2), otherwise we will abort on a short write instead of proceeding to poll(2).
- Always check for EAGAIN from poll(2) even though it can't happen on FreeBSD; POSIX says it can, and it might in the future.
- Rewrite fetch_read() and fetch_writev() to be more similar to each other. The main difference is that a partial read is treated as success while a partial write is treated as failure.
PR: 296316
MFC after: 1 week