Why do you need a different timeout API? It either works or it
doesn't. Provide an implementation of send*/receive*/sockopt APIs
that can use SO_SNDTIMEO/O_RCVTIMEO, and enable it carefully.
Because some applications might rely upon the API setting a socket to
blocking or non-blocking based on the timeout.
They wouldn't work on Windows anyway, FWIW.
It is documented to behave in this way,
Where?
http://apr.apache.org/docs/apr/group__apr__network__io.html#ga26
"""
t > 0 -- read and write calls return APR_TIMEUP if specified time
elapsess with no data read or written
t == 0 -- read and write calls never block
t < 0 -- read and write calls block
"""
'block', 'never block'.