diff options
| author | Gordon Sim <gsim@apache.org> | 2014-07-24 13:48:30 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2014-07-24 13:48:30 +0000 |
| commit | 411991ff17bb52f2887f9b78350683c939b3394a (patch) | |
| tree | dda69feccf6e52dd730e4fecd9b7665fd5df1ee7 /qpid/python | |
| parent | ac1142c3e7a3e07f13c256c0038dc044ad594b0c (diff) | |
| download | qpid-python-411991ff17bb52f2887f9b78350683c939b3394a.tar.gz | |
QPID-5923: check requested node type when handling delete
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1613130 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python')
| -rw-r--r-- | qpid/python/qpid/messaging/driver.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/qpid/python/qpid/messaging/driver.py b/qpid/python/qpid/messaging/driver.py index 3487e4b4ba..2ade144687 100644 --- a/qpid/python/qpid/messaging/driver.py +++ b/qpid/python/qpid/messaging/driver.py @@ -936,7 +936,8 @@ class Engine: lnk.closed = True if _lnk.options.get("delete") in ("always", dir.DIR_NAME): dir.do_unlink(sst, lnk, _lnk) - self.delete(sst, _lnk.name, unlinked) + requested_type = _lnk.options.get("node", {}).get("type") + self.delete(sst, _lnk.name, unlinked, node_type=requested_type) else: dir.do_unlink(sst, lnk, _lnk, unlinked) _lnk.closing = True @@ -1078,7 +1079,7 @@ class Engine: sst.write_cmds(cmds, declared) - def delete(self, sst, name, action): + def delete(self, sst, name, action, node_type=None): def deleted(): del self.address_cache[name] action() @@ -1092,7 +1093,7 @@ class Engine: action() else: raise ValueError(type) - self.resolve(sst, name, do_delete, force=True) + self.resolve(sst, name, do_delete, force=True, node_type=node_type) def process(self, ssn): if ssn.closed or ssn.closing: return |
