summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLior Neudorfer <liorus@gmail.com>2015-01-04 17:13:06 +0200
committerSergey Shepelev <temotor@gmail.com>2015-02-10 03:53:38 +0300
commit5ec3a3cba8029b577db1631f9db52f99954e4f54 (patch)
tree5eab10b47f98463a334789159f7f6e0348bfb25f
parent50f794042528c61af84ebc08ccac4c81022800fc (diff)
downloadeventlet-5ec3a3cba8029b577db1631f9db52f99954e4f54.tar.gz
Make sure SSL retries are done using the exact same data buffer
-rw-r--r--eventlet/green/ssl.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/eventlet/green/ssl.py b/eventlet/green/ssl.py
index 220bedd..fdd3a4e 100644
--- a/eventlet/green/ssl.py
+++ b/eventlet/green/ssl.py
@@ -162,11 +162,14 @@ class GreenSSLSocket(_original_sslsocket):
self.__class__)
amount = len(data)
count = 0
+ data_to_send = data
while (count < amount):
- v = self.send(data[count:])
+ v = self.send(data_to_send)
count += v
if v == 0:
trampoline(self, write=True, timeout_exc=timeout_exc('timed out'))
+ else:
+ data_to_send = data[count:]
return amount
else:
while True: