> Hi,


> I have setup an SSL server that works fine up to
> 400 connected clients.


> When I try to have more then 400 clients, then my server hangs in the
> SSL_accept call.... This happens very randomly, sometimes beyond 1000
> connected clients...


> The server is dead once this happen and no other client can connect.


> Please note that I am using non blocking sockets so SSL_accept _should_
> return... but for whatever reason it does not.


What is your code *supposed* to do if SSL_accept bails out of accept
immediately with EMFILE? If you keep looping and calling SSL_accept forever,
then your code is going to loop forever.

ret=accept(sock,(struct sockaddr *)&from,(void *)&len);
if (ret == INVALID_SOCKET)
{
if(BIO_sock_should_retry(ret)) return -2;
SYSerr(SYS_F_ACCEPT,get_last_socket_error());
BIOerr(BIO_F_BIO_ACCEPT,BIO_R_ACCEPT_ERROR);
goto end;
}

DS


__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager majordomo@openssl.org