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 | ffdbe3cdd3fa5f349b6daace7f8e34ec9bff48fb (patch) | |
| tree | 5c4240c2c02d90ef6b79bdce4b2d594d8dc94677 /python | |
| parent | 13183651f7b52bdff69866d2f05b2d3326dcd5ed (diff) | |
| download | qpid-python-ffdbe3cdd3fa5f349b6daace7f8e34ec9bff48fb.tar.gz | |
QPID-5923: check requested node type when handling delete
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1613130 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python')
| -rw-r--r-- | python/qpid/messaging/driver.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/python/qpid/messaging/driver.py b/python/qpid/messaging/driver.py index 3487e4b4ba..2ade144687 100644 --- a/python/qpid/messaging/driver.py +++ b/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 |
