summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Cammarata <jimi@sngx.net>2013-10-01 16:50:32 -0500
committerJames Cammarata <jimi@sngx.net>2013-10-07 13:20:32 -0500
commita8f821c34f70ff06bfb0ea5dca604f2878c4ecc1 (patch)
tree550ad91317e9254042837972c06b4573dba1e350
parent3a48b820bb60f51a04d278abd810d66c60f37707 (diff)
downloadansible-a8f821c34f70ff06bfb0ea5dca604f2878c4ecc1.tar.gz
Make recv_data less greedy so it doesn't eat other packets
-rw-r--r--lib/ansible/runner/connection_plugins/accelerate.py4
-rw-r--r--library/utilities/accelerate4
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/ansible/runner/connection_plugins/accelerate.py b/lib/ansible/runner/connection_plugins/accelerate.py
index 61913958fb..2ab32af2dc 100644
--- a/lib/ansible/runner/connection_plugins/accelerate.py
+++ b/lib/ansible/runner/connection_plugins/accelerate.py
@@ -127,7 +127,7 @@ class Connection(object):
try:
vvvv("%s: in recv_data(), waiting for the header" % self.host)
while len(data) < header_len:
- d = self.conn.recv(1024)
+ d = self.conn.recv(header_len - len(data))
if not d:
vvvv("%s: received nothing, bailing out" % self.host)
return None
@@ -137,7 +137,7 @@ class Connection(object):
data = data[header_len:]
vvvv("%s: data received so far (expecting %d): %d" % (self.host,data_len,len(data)))
while len(data) < data_len:
- d = self.conn.recv(1024)
+ d = self.conn.recv(data_len - len(data))
if not d:
vvvv("%s: received nothing, bailing out" % self.host)
return None
diff --git a/library/utilities/accelerate b/library/utilities/accelerate
index ea28b944fe..4ac2fa478a 100644
--- a/library/utilities/accelerate
+++ b/library/utilities/accelerate
@@ -198,7 +198,7 @@ class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):
data = b""
vvvv("in recv_data(), waiting for the header")
while len(data) < header_len:
- d = self.request.recv(1024)
+ d = self.request.recv(header_len - len(data))
if not d:
vvv("received nothing, bailing out")
return None
@@ -208,7 +208,7 @@ class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):
data = data[header_len:]
vvvv("data received so far (expecting %d): %d" % (data_len,len(data)))
while len(data) < data_len:
- d = self.request.recv(1024)
+ d = self.request.recv(data_len - len(data))
if not d:
vvv("received nothing, bailing out")
return None