summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hood <0x6e6562@gmail.com>2008-08-28 21:47:12 +0100
committerBen Hood <0x6e6562@gmail.com>2008-08-28 21:47:12 +0100
commit20c3155be74d88f4762539150b64583ed3b8da98 (patch)
tree1347368f1b57ab83afcb02ad628f6953934caf89
parenteeb028fb865d5c8f67de01ef998922e277c68988 (diff)
downloadrabbitmq-server-git-20c3155be74d88f4762539150b64583ed3b8da98.tar.gz
Now this is deleting the reverse route as well
-rw-r--r--src/rabbit_amqqueue.erl9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 1038810345..126bf1680b 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -287,9 +287,16 @@ basic_cancel(#amqqueue{pid = QPid}, ChPid, ConsumerTag, OkMsg) ->
notify_sent(QPid, ChPid) ->
gen_server:cast(QPid, {notify_sent, ChPid}).
+% Should all of the route and binding management not be refactored to it's own module
+% Especially seeing as unbind will have to be implemented for 0.91 ?
+% This kind of forward/reverse tuple management could be re-used
delete_routes(Q = #amqqueue{name = Name}) ->
Route = #route{binding = #binding{queue_name = Name, exchange_name = '_', key = '_'}},
- ok = mnesia:delete_object(Route).
+ ReverseRoute = #reverse_route{reverse_binding = #reverse_binding{queue_name = Name,
+ exchange_name = '_',
+ key = '_'}},
+ ok = mnesia:delete_object(Route),
+ ok = mnesia:delete_object(ReverseRoute).
internal_delete(QueueName) ->
rabbit_misc:execute_mnesia_transaction(