Hi there;
I am using the openssl on Solaris, the code looks something like this :

int err = SSL_accept(ssl);

if(err > 0)
    return 0;//success

if(!BIO_sock_should_retry(err))
{
    /*ERROR*/
}

this code works fine for a period of time, but after a while, it always goes
to the /*ERROR*/ line, that is BIO_sock_should_retry returns 0.

I looked at openssl-0.9.3a/crypto/bio/bss_sock.c inside the function
BIO_sock_should_retry:
I have i == -1 and err == 0;

at line 347 returns success if it is running on windows
but on solaris goes to the following function BIO_sock_non_faral_error(err);
with err = 0; and in the whole switch/case statement 0 is not matched so
returns failure as the whole function;

I looked at the note from Ben on line 347, shouldn't the function
return success in case i == -1 and err == 0 ?

I appreciate your help in advance,

Reza


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

Reply via email to