On Fri, Sep 07, 2007, Jim Marshall wrote: > Thanks for the feedback, unfortunately I don't fully follow you. > > In my code I have a 'opensocket' function in which I do this: > > ret = BIO_new_accept(hostString); > if (ret != NULL) > { > BIO_set_nbio_accept(ret, 1); > BIO_set_bind_mode(ret, BIO_BIND_REUSEADDR); > /* bind & listen */ > if (BIO_do_accept(ret) < 0) > ... > > Then i have a function called 'startListening" which I do the following: > > acceptRet = BIO_do_accept(sock); > if (acceptRet > 0) > { > BIO* client = NULL; > SSL* ssl = NULL; > client = BIO_pop(sock); > // also tried BIO_set_nbio_accept on the line below > BIO_set_nbio(client, 1); > BIO_set_nbio_accept(client, 1); > ssl = SSL_new(gCtx); > if (ssl != NULL) > { > SSL_set_bio(ssl, client, client); > SSL_set_accept_state(ssl); > ... > > Am I placing the call in the wrong place? >
Add a call BIO_set_nbio(ret, 1) after the call to BIO_set_nbio_accept() in the "opensocket" function. You shouldn't need the other BIO_set_nbio() calls then. Steve. -- Dr Stephen N. Henson. Email, S/MIME and PGP keys: see homepage OpenSSL project core developer and freelance consultant. Funding needed! Details on homepage. Homepage: http://www.drh-consultancy.demon.co.uk ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]