Has anyone found a way to call SSL_connect with a non-blocking socket? I need to be able to do this so I don't have to start a separate thread. Instead I would like to monitor socket activity with select() and the writing set. More accurately, I want to be able to do the following:
1. Create a socket using socket(). 2. Make the socket non-blocking with fcntl(). 3. Bind the server's listen address and port to the socket with bind(). 4. Start the TCP connection process with connect(). Fail with EWOULDBLOCK. 5. Wait for socket activity with select() and the writing set. Other asynchronous events can be dispatched during this time. 6. When this socket becomes active in the writing set, somehow use this socket with a BIO provided to SSL_connect(). This is the part I don't know how to do. 7. Wait for socket activity using select() and the reading set, then use SSL_read() and/or SSL_write() as indicated by SSL_get_error(). ______________________________ John Hoel Product Author Skywire Software 2401 Internet Blvd., Suite 201 Frisco, Texas 75034 (972)377-1110 main (425)396-4687 direct [EMAIL PROTECTED] www.skywiresoftware.com NO RELIANCE: This e-mail will be of no force of effect and will not be binding unless a hard copy of this e-mail, signed by an authorized official of the company, has been sent to the recipient of this message. CONFIDENTIAL AND/OR PROPRIETARY: Information contained in this transmission is intended for the use of the individual or entity named above and may contain legally proprietary or confidential information. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copy of this communication is strictly prohibited. If you have received this communication in error, please permanently delete this message and immediately notify us by telephone at 972-377-1110. ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [email protected] Automated List Manager [EMAIL PROTECTED]
