STINNER Victor <victor.stin...@haypocalc.com> 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 <rep...@bugs.python.org>
<http://bugs.python.org/issue12364>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to