On 12:42 am, peter.westl...@pobox.com wrote:
On Mon, 17 Nov 2014, at 20:25, Glyph wrote:
On Nov 17, 2014, at 19:32, Peter Westlake
<peter.westl...@pobox.com> wrote:
It's a known bug in Python!http://bugs.python.org/issue1038591,
"Python 2.3+ socket._fileobject handles EAGAIN with data loss".
This bug is in socket.makefile(), which Twisted never uses - not
socket.socket().
Okay, how about http://bugs.python.org/issue9090, "Issue #9090 : Error
code 10035 calling socket.recv() on a socket with a timeout
(WSAEWOULDBLOCK - A non-blocking socket operation could not be
completed
immediately)"?
Twisted also doesn't use sockets with timeouts - although the way socket
timeouts are implemented in Python, I could perhaps imagine some timeout
configuration leaking into Twisted's sockets due to some other code
running in the same process.
Can you check to see if your AMP connection's underlying socket has a
timeout set? It *shouldn't*. Twisted doesn't set one. If some other
code is causing a timeout to be set, I guess this could be the culprit.
Jean-Paul
I actually found that one first, but it appeared to be Windows-only.
Further down the comments it becomes clear that it's not, and the patch
at https://hg.python.org/cpython/rev/8ec39bfd1f01 confirms that.
It would be good news if it was 9090, because it's easier to switch to
Python 2.7.8 than 3.
Peter.
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python