mirror of https://github.com/python/cpython.git
Simplify code in multiprocessing.Connection.send_bytes().
Followup to issue #20540; patch by Serhiy.
This commit is contained in:
parent
cac9e719cc
commit
0b87831de9
|
@ -400,17 +400,14 @@ def _send_bytes(self, buf):
|
|||
if n > 16384:
|
||||
# The payload is large so Nagle's algorithm won't be triggered
|
||||
# and we'd better avoid the cost of concatenation.
|
||||
chunks = [header, buf]
|
||||
elif n > 0:
|
||||
self._send(header)
|
||||
self._send(buf)
|
||||
else:
|
||||
# Issue # 20540: concatenate before sending, to avoid delays due
|
||||
# to Nagle's algorithm on a TCP socket.
|
||||
chunks = [header + buf]
|
||||
else:
|
||||
# This code path is necessary to avoid "broken pipe" errors
|
||||
# when sending a 0-length buffer if the other end closed the pipe.
|
||||
chunks = [header]
|
||||
for chunk in chunks:
|
||||
self._send(chunk)
|
||||
# Also note we want to avoid sending a 0-length buffer separately,
|
||||
# to avoid "broken pipe" errors if the other end closed the pipe.
|
||||
self._send(header + buf)
|
||||
|
||||
def _recv_bytes(self, maxsize=None):
|
||||
buf = self._recv(4)
|
||||
|
|
Loading…
Reference in New Issue