Nikolaus Rath added the comment:

This is actually seems to be not just an inconvience, but a real bug: since 
SSLSocket.sendall() uses SSLSocket.send() internally, the former method will 
busy-loop when called on a non-blocking socket. 

Note also that the .sendto and .write methods already behave consistently and 
raise SSLWantWrite. It seems it's really just the send() method that is the 
lone outlier.

The attached patch changes ssl.send to raise SSLWantWrite instead of returning 
zero. The  full testsuite still runs fine. I'm a bit sceptical though, because 
the code looks as if send() was deliberately written to catch the SSLWantWrite 
exception and return zero instead.. Can anyone familiar with the code comment 
on this?

----------
keywords: +patch
Added file: http://bugs.python.org/file34448/issue20951.diff

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20951>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to