summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2009-08-24 13:50:20 +0000
committerRafael H. Schloming <rhs@apache.org>2009-08-24 13:50:20 +0000
commitacc494abc20309733d6884d9a524a2334bddd967 (patch)
tree093d3196405f7246e6576a2acfc92c7428f43d14
parent024580d818193979f6c3e0bae10939fe45ea4e68 (diff)
downloadqpid-python-acc494abc20309733d6884d9a524a2334bddd967.tar.gz
candidate fix for messages sent on unlinked senders
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@807217 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--python/qpid/messaging.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/python/qpid/messaging.py b/python/qpid/messaging.py
index d2769dde4c..47f7e560c5 100644
--- a/python/qpid/messaging.py
+++ b/python/qpid/messaging.py
@@ -1006,6 +1006,9 @@ class Driver(Lockable):
if snd.closed:
del self._attachments[snd]
+ return None
+ else:
+ return _snd
def link_in(self, rcv):
_ssn = self._attachments[rcv.session]
@@ -1037,6 +1040,9 @@ class Driver(Lockable):
_ssn.sync()
del self._attachments[rcv]
rcv.closed = True
+ return None
+ else:
+ return _rcv
def process(self, ssn):
if ssn.closing: return
@@ -1113,7 +1119,7 @@ class Driver(Lockable):
def grant(self, rcv):
_ssn = self._attachments[rcv.session]
- _rcv = self._attachments[rcv]
+ _rcv = self.link_in(rcv)
if rcv.granted is UNLIMITED:
if rcv.impending is UNLIMITED:
@@ -1149,7 +1155,7 @@ class Driver(Lockable):
def send(self, snd, msg):
_ssn = self._attachments[snd.session]
- _snd = self._attachments[snd]
+ _snd = self.link_out(snd)
# XXX: what if subject is specified for a normal queue?
if _snd._routing_key is None: