消息 [135904]
> But Lib/multiprocessing/connection.py 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/queues.py) use locks so they
are safe. |
|
| 日期 |
用户 |
动作 |
参数 |
| 2011-05-13 13:15:05 | pitrou | 修改 | recipients:
+ pitrou, bquinlan, vstinner, jnoller, hongqn, brian.curtin, asksol, vlasovskikh, neologix, gdb, Albert.Strasheim, aljungberg, gkcn |
| 2011-05-13 13:15:04 | pitrou | 链接 | issue9205 messages |
| 2011-05-13 13:15:04 | pitrou | 创建 | |
|