To Md Lazreg:

I think I found it.

ready_sockets = ::select(m_max_socket + 1, rfds, 0, 0,&tv);
if (ready_sockets > 0)
if (FD_ISSET(s->get_sock(),p->get_rfds()))
new_s->set_non_blocking(true); /* GAK!!!! */
if (s->accept(new_s))
{ /* HERE */
call the code above which will call SSL_accept
/*error handling*/

The line marked with the 'GAK' should be:


You don't want the listening socket to block when you call 'accept' on it.
You can't make the newly-accepted socket non-blocking until after it exists.

At the 'HERE' tag, you should probably have a:

Because you don't want the newly-accepted connection to block either.
(Though you may already cover that by setting the BIO non-blocking.)


__________________________________________________ ____________________
OpenSSL Project
User Support Mailing List
Automated List Manager