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
commitdbc799e2d322a3df515b9afa699bf294f03dceae (patch)
treeb8919c231c543e7e043d42bd32e979ed22e8f4b7
parent760d506841768d9c0a6073e4e73ba2f13bbf39f2 (diff)
downloadrabbitmq-server-dbc799e2d322a3df515b9afa699bf294f03dceae.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 6280b3a7..bd75e301 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,