summaryrefslogtreecommitdiff
path: root/python/qpid
diff options
context:
space:
mode:
Diffstat (limited to 'python/qpid')
-rw-r--r--python/qpid/peer.py4
-rw-r--r--python/qpid/testlib.py4
2 files changed, 7 insertions, 1 deletions
diff --git a/python/qpid/peer.py b/python/qpid/peer.py
index 3c60d99f9a..9f9644f17d 100644
--- a/python/qpid/peer.py
+++ b/python/qpid/peer.py
@@ -89,7 +89,7 @@ class Peer:
try:
frame = self.conn.read()
except EOF, e:
- self.close(e)
+ self.work.close()
break
ch = self.channel(frame.channel)
ch.receive(frame, self.work)
@@ -126,6 +126,8 @@ class Peer:
content = None
self.delegate(channel, Message(channel, frame, content))
+ except QueueClosed, e:
+ self.close(e)
except:
self.fatal()
diff --git a/python/qpid/testlib.py b/python/qpid/testlib.py
index 9f2f0d08d5..836315a4e3 100644
--- a/python/qpid/testlib.py
+++ b/python/qpid/testlib.py
@@ -171,6 +171,10 @@ class TestBase(unittest.TestCase):
for ch, ex in self.exchanges:
ch.exchange_delete(exchange=ex)
+ if not self.client.closed:
+ self.client.channel(0).connection_close(reply_code=200)
+ del self.client
+
def connect(self, *args, **keys):
"""Create a new connction, return the Client object"""
return testrunner.connect(*args, **keys)