Mark Laubach wrote:

> Hi David,
>
> Thanks and yes, these are the conundrums I'm curious about:
> 1) why does the process get hung on __read_nocancel (), when the
> connection is set to non-blocking, and only under heavy congestion?,

My bet is the connection is not actually being set non-blocking.

> and 2) if the connection did turn blocking, why aren't the added
> timeouts working?

As I explained, those timeouts are fundamentally broken. It's not even clear
what it is that they time out. (Do they time out the actual network
operation? Do they time out the underlying connection? Do they timeout
waiting for the operation to complete? Nobody knows.)

> I'll keep looking and any 'what to look at' pointers or confirmation
> would be appreciated.

Make sure the connections are in fact set non-blocking. Make sure you don't
refuse to perform an operation unless the SSL state machine has specifically
directed you to do so.

Note that you cannot, either with or without SSL, make a connection
non-blocking by using 'select' before I/O operations. That has never worked
and will never work.

DS


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to