summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorKen Giusti <kgiusti@apache.org>2014-05-29 18:16:14 +0000
committerKen Giusti <kgiusti@apache.org>2014-05-29 18:16:14 +0000
commit9509b4b00f95fb6282b6d0491d82002c9fa06579 (patch)
treecfb89c9f835e171e76413d6eb203a2ea3be134cd /python
parenta5ea8e9b799d34f7a38c74f8dea9d5c451b48afb (diff)
downloadqpid-python-9509b4b00f95fb6282b6d0491d82002c9fa06579.tar.gz
QPID-5773: back out non-functional recv path change from QPID-4872
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1598353 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python')
-rw-r--r--python/qpid/messaging/transports.py23
1 files changed, 7 insertions, 16 deletions
diff --git a/python/qpid/messaging/transports.py b/python/qpid/messaging/transports.py
index c36d7891b3..fd909f247c 100644
--- a/python/qpid/messaging/transports.py
+++ b/python/qpid/messaging/transports.py
@@ -139,11 +139,10 @@ else:
self.socket.setblocking(0)
self.state = None
- # See qpid-4872: need to store the parameters last passed to
- # tls.recv_into() and tls.write() in case the calls fail with an
- # SSL_ERROR_WANT_* error and we have to retry the call.
+ # See qpid-4872: need to store the parameters last passed to tls.write()
+ # in case the calls fail with an SSL_ERROR_WANT_* error and we have to
+ # retry the call with the same parameters.
self.write_retry = None # buffer passed to last call of tls.write()
- self.read_retry = None # buffer passed to last call of tls.recv_into()
def reading(self, reading):
if self.state is None:
@@ -176,23 +175,15 @@ else:
raise
def recv(self, n):
- if self.read_retry == None:
- self.read_retry = bytearray( n )
self._clear_state()
try:
- n = self.tls.recv_into( self.read_retry )
- r = str(self.read_retry[:n])
- self.read_retry = None
- return r
+ return self.tls.read(n)
except SSLError, e:
if self._update_state(e.args[0]):
- # will retry on next invokation
+ # will retry later:
return None
- self.read_retry = None
- raise
- except:
- self.read_retry = None
- raise
+ else:
+ raise
def _clear_state(self):
self.state = None