Ralph via RT <[EMAIL PROTECTED]>:

> But so far, I can tell you that when SSL_get_error() returns 
> SSL_ERROR_SYSCALL and you inspect errno, it tells EWOULDBLOCK or EAGAIN. 
> By  repeating the SSL_* call as long as this condition occurs, I can 
> overcome the problem and the SSL handshake and communication works 
> perfectly. Oh...it's in a multi-threaded application, too! Maybe this 
> helps (OpenSSL compiled with the correct switch for MT - I hope)

If OpenSSL is *not* compiler with correct switches for multithreading,
that would explain -- in that case, SSL_get_error() could be reading
the wrong copy of errno and thus not find the EWOULDBLOCK/EAGAIN code.

Here's something to try: find the 'errno' definition for multi-threading
in the system header files, which should involve some function call;
then use 'nm' to see if that function is mentioned in the OpenSSL
object files that you are linking with. (bss_sock.o is the object
file to look at.)


-- 
Bodo Möller <[EMAIL PROTECTED]>
PGP http://www.informatik.tu-darmstadt.de/TI/Mitarbeiter/moeller/0x36d2c658.html
* TU Darmstadt, Theoretische Informatik, Alexanderstr. 10, D-64283 Darmstadt
* Tel. +49-6151-16-6628, Fax +49-6151-16-6036

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to