From 225aa4f8ec1d98a244f863ee5257a750926a494e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charles-Fran=C3=A7ois=20Natali?= Date: Tue, 20 Sep 2011 19:27:39 +0200 Subject: Issue #12996: multiprocessing.connection: transmit the header in network byte order (endpoints machines can have different endianness). --- Lib/multiprocessing/connection.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/multiprocessing/connection.py b/Lib/multiprocessing/connection.py index ae2d135..13d3d77 100644 --- a/Lib/multiprocessing/connection.py +++ b/Lib/multiprocessing/connection.py @@ -422,7 +422,7 @@ class Connection(_ConnectionBase): def _send_bytes(self, buf): # For wire compatibility with 3.2 and lower n = len(buf) - self._send(struct.pack("=i", len(buf))) + self._send(struct.pack("!i", n)) # 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: @@ -430,7 +430,7 @@ class Connection(_ConnectionBase): def _recv_bytes(self, maxsize=None, sentinels=()): buf = self._recv(4, sentinels) - size, = struct.unpack("=i", buf.getvalue()) + size, = struct.unpack("!i", buf.getvalue()) if maxsize is not None and size > maxsize: return None return self._recv(size, sentinels) -- cgit v0.12