summaryrefslogtreecommitdiff
path: root/qpid/python
diff options
context:
space:
mode:
authorPavel Moravec <pmoravec@apache.org>2013-10-22 14:30:42 +0000
committerPavel Moravec <pmoravec@apache.org>2013-10-22 14:30:42 +0000
commit612fe8ab5b8df4ba91604e85549d594ccf78d45b (patch)
treef75d6609d74b45ddd137ee82ac729fabfe80958d /qpid/python
parent739c4ea8b7181b058531e1c3fe83a841b28f7a18 (diff)
downloadqpid-python-612fe8ab5b8df4ba91604e85549d594ccf78d45b.tar.gz
QPID-5203 Python client unexpected exception after ACL denial
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1534643 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python')
-rw-r--r--qpid/python/qpid/messaging/endpoints.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/qpid/python/qpid/messaging/endpoints.py b/qpid/python/qpid/messaging/endpoints.py
index 6f0e9432dc..d686f0dd77 100644
--- a/qpid/python/qpid/messaging/endpoints.py
+++ b/qpid/python/qpid/messaging/endpoints.py
@@ -750,6 +750,7 @@ class Session(Endpoint):
"""
Close the session.
"""
+ self.error = None
self.sync(timeout=timeout)
for link in self.receivers + self.senders:
@@ -920,8 +921,9 @@ class Sender(Endpoint):
self._wakeup()
try:
- if not self.session._ewait(lambda: self.closed, timeout=timeout):
- raise Timeout("sender close timed out")
+ if not self.session.closed:
+ if not self.session._ewait(lambda: self.closed, timeout=timeout):
+ raise Timeout("sender close timed out")
finally:
try:
self.session.senders.remove(self)
@@ -1067,8 +1069,9 @@ class Receiver(Endpoint, object):
self._wakeup()
try:
- if not self.session._ewait(lambda: self.closed, timeout=timeout):
- raise Timeout("receiver close timed out")
+ if not self.session.closed:
+ if not self.session._ewait(lambda: self.closed, timeout=timeout):
+ raise Timeout("receiver close timed out")
finally:
try:
self.session.receivers.remove(self)