Commit 0b87831d authored by Antoine Pitrou's avatar Antoine Pitrou

Simplify code in multiprocessing.Connection.send_bytes().

Followup to issue #20540; patch by Serhiy.
parent cac9e719
...@@ -400,17 +400,14 @@ class Connection(_ConnectionBase): ...@@ -400,17 +400,14 @@ class Connection(_ConnectionBase):
if n > 16384: if n > 16384:
# The payload is large so Nagle's algorithm won't be triggered # The payload is large so Nagle's algorithm won't be triggered
# and we'd better avoid the cost of concatenation. # and we'd better avoid the cost of concatenation.
chunks = [header, buf] self._send(header)
elif n > 0: self._send(buf)
else:
# Issue # 20540: concatenate before sending, to avoid delays due # Issue # 20540: concatenate before sending, to avoid delays due
# to Nagle's algorithm on a TCP socket. # to Nagle's algorithm on a TCP socket.
chunks = [header + buf] # Also note we want to avoid sending a 0-length buffer separately,
else: # to avoid "broken pipe" errors if the other end closed the pipe.
# This code path is necessary to avoid "broken pipe" errors self._send(header + buf)
# when sending a 0-length buffer if the other end closed the pipe.
chunks = [header]
for chunk in chunks:
self._send(chunk)
def _recv_bytes(self, maxsize=None): def _recv_bytes(self, maxsize=None):
buf = self._recv(4) buf = self._recv(4)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment