diff options
author | Rafael H. Schloming <rhs@apache.org> | 2009-08-24 13:50:20 +0000 |
---|---|---|
committer | Rafael H. Schloming <rhs@apache.org> | 2009-08-24 13:50:20 +0000 |
commit | acc494abc20309733d6884d9a524a2334bddd967 (patch) | |
tree | 093d3196405f7246e6576a2acfc92c7428f43d14 | |
parent | 024580d818193979f6c3e0bae10939fe45ea4e68 (diff) | |
download | qpid-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.py | 10 |
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: |