diff options
Diffstat (limited to 'qpid/python')
| -rw-r--r-- | qpid/python/qpid/messaging/endpoints.py | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/qpid/python/qpid/messaging/endpoints.py b/qpid/python/qpid/messaging/endpoints.py index 7cd3931465..e69d7a10ae 100644 --- a/qpid/python/qpid/messaging/endpoints.py +++ b/qpid/python/qpid/messaging/endpoints.py @@ -750,7 +750,7 @@ class Session(Endpoint): """ Close the session. """ - self.error = None + if self.error: return self.sync(timeout=timeout) for link in self.receivers + self.senders: @@ -921,9 +921,8 @@ class Sender(Endpoint): self._wakeup() try: - if not self.session.closed: - if not self.session._ewait(lambda: self.closed, timeout=timeout): - raise Timeout("sender close timed out") + if not self.session._ewait(lambda: self.closed, timeout=timeout): + raise Timeout("sender close timed out") finally: try: self.session.senders.remove(self) @@ -1069,9 +1068,8 @@ class Receiver(Endpoint, object): self._wakeup() try: - if not self.session.closed: - if not self.session._ewait(lambda: self.closed, timeout=timeout): - raise Timeout("receiver close timed out") + if not self.session._ewait(lambda: self.closed, timeout=timeout): + raise Timeout("receiver close timed out") finally: try: self.session.receivers.remove(self) |
