On 01/17/2013 12:10 PM, A G wrote:
Hi
Here
http://marc.info/?l=openssl-users&m=124386218929227
It states that
"...This is why it is very important to understand that any possible forward
progress on any port (and a write operation that returns WANT_READ may have made forward
progress!) requires you to retry all pending operations on all ports...."
So am I correct in understanding that an SSL_read() that returned WANT_READ may
have made forward progress (even if it did not return any data)?
I have an event driven single threaded app that has 3 non blocking ssl sockets.
When each socket completes its connection, I have the sockets read until I get
a WANT_READ. My understanding is that a WANT_READ means I may now invoke
select() and wait until the socket is ready for reading again.
you may also receive WANT_WRITE or WANT_READ when you ssl_write.
as long as you do not have interrupted ALL, you do not need to select,
after a successful operation you can retry the others, or do
a select to determine which are actually ready.
a select call is only to avoid a cpu intensive loop on the ssl_read/write
operations.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager majord...@openssl.org