Jeff Trawick wrote:

On 6/24/05, Paul Querna <[EMAIL PROTECTED]> wrote:

I would like to look at extending the timeout API, creating a new
version that leaves a socket in its original state (blocking or
non-blocking), but still implements the Timeouts.  The SO_SNDTIMEO and
O_RCVTIMEO socketopts can do exactly this.  For platforms that do not
support them, we can emulate it but toggling to non-blocking, and using
apr_wait_for_io_or_timeout, just like we do now, and then reseting the
socket to its original state.

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.

It is documented to behave in this way, and changing such a major documented behavior without either an API addition or major version bump seems fishy.


Reply via email to