Jean-Paul Calderone <[EMAIL PROTECTED]> wrote:

> On Wed, 17 Sep 2008 10:40:01 PDT, Bill Janssen <[EMAIL PROTECTED]> wrote:
> >Ah, now I remember.  It seems that sometimes when SSL_ERROR_WANT_READ
> >was returned, things would block; that is, the "handle_read" method on
> >asyncore.dispatcher was never called again, so the SSLSocket.recv()
> >method was never re-called.  There are several levels of buffering going
> >on, and I never figured out just why that was.  This (very rare) re-call
> >of "read" is to handle that.
> >
> 
> You certainly do need to call read again if OpenSSL fails an SSL_read with
> a want-read error, but in asyncore, you don't want to do it right away,
> you want to wait until the socket becomes readable again, otherwise you *do*
> block waiting for bytes from the network.  See the SSL support in Twisted
> for an example of the correct way to handle this.
> 
> Jean-Paul

Yes, I understand, and that's how I started out.  The bug we were seeing
was that "handle_read" wasn't being called again by asyncore.

Bill
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to