This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients Albert.Strasheim, aljungberg, asksol, bquinlan, brian.curtin, gdb, gkcn, hongqn, jnoller, neologix, pitrou, vlasovskikh, vstinner
Date 2011-05-13.13:15:04
SpamBayes Score 0.00114854
Marked as misclassified No
Message-id <1305292501.3561.24.camel@localhost.localdomain>
In-reply-to <>
> But Lib/multiprocessing/ does:
>     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)
> This is definitely not atomic.

Indeed, it isn't, Pipe objects are not meant to be safe against multiple
access. Queue objects (in multiprocessing/ use locks so they
are safe.
Date User Action Args
2011-05-13 13:15:05pitrousetrecipients: + pitrou, bquinlan, vstinner, jnoller, hongqn, brian.curtin, asksol, vlasovskikh, neologix, gdb, Albert.Strasheim, aljungberg, gkcn
2011-05-13 13:15:04pitroulinkissue9205 messages
2011-05-13 13:15:04pitroucreate