David Schwartz wrote:
Not to beat a dead horse, but I forgot to mention that the application
does work "properly" when performing the same operations on non-SSL
connections. In other-words if I use telnet to connect to the server on
the non-SSL port and type nothing in the console and then have a second
client connect (to either the non-SSL or the SSL port) and make a valid
request, the server responds properly. The telnet session is still
connected, but we are not blocked from handling other requests. The WEBs
code uses the socket 'select' mechanism which I presume plays a role in
this working. I do not understand why this same mechanism fails when we
use SSL.

Because you forgot to set the socket non-blocking. It is only working for
non-SSL by pure luck. (For example, if it was UDP, or you used this same
logic in your 'accept' code, it would likely deadlock awfully.) The only way
to guarantee that socket operations do not block is to set the socket
non-blocking.

DS
Thanks everyone for taking the time to respond. I'll need to dig deeper into the third party code to see how to fix it.

-Jim

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to