STINNER Victor <[email protected]> added the comment:
Connection._send_bytes() has a comment about broken pipes:
def _send_bytes(self, buf):
# For wire compatibility with 3.2 and lower
n = len(buf)
self._send(struct.pack("=i", len(buf)))
# The condition is necessary to avoid "broken pipe" errors
# when sending a 0-length buffer if the other end closed the pipe.
if n > 0:
self._send(buf)
But the OSError(32, "Broken pipe") occurs on sending the buffer size (a chunk
of 4 bytes: self._send(struct.pack("=i", len(buf)))), not on sending the buffer
content.
See also maybe the (closed) issue #9205: Parent process hanging in
multiprocessing if children terminate unexpectedly
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue12364>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com