summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hood <0x6e6562@gmail.com>2008-09-30 22:54:47 +0100
committerBen Hood <0x6e6562@gmail.com>2008-09-30 22:54:47 +0100
commit9ce6c93cb94f4b20c4c3e3e644f9b0e3e96bdbf4 (patch)
treeb8919c231c543e7e043d42bd32e979ed22e8f4b7
parent8f08a5b5476394d42e96ec66dbfbf857cdc3a679 (diff)
downloadrabbitmq-server-git-9ce6c93cb94f4b20c4c3e3e644f9b0e3e96bdbf4.tar.gz
Fix for not cleaning up durable auto_delete exchanges properly
-rw-r--r--src/rabbit_exchange.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl
index 6280b3a74b..bd75e3012d 100644
--- a/src/rabbit_exchange.erl
+++ b/src/rabbit_exchange.erl
@@ -233,7 +233,11 @@ delete_bindings(QueueName) ->
Exchange = #exchange{name = Name, auto_delete = true,
type = '_', durable = '_',
arguments = '_'},
- ok = mnesia:delete_object(Exchange) end, Exchanges),
+ ok = mnesia:delete_object(Exchange),
+ ok = mnesia:delete_object(durable_exchanges,
+ Exchange, write)
+ end, Exchanges),
+
% TODO: What about auto_delete on durable exchanges?
delete_bindings(#binding{exchange_name = '_',
queue_name = QueueName,