summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2010-10-15 14:14:32 +0100
committerSimon MacMullen <simon@rabbitmq.com>2010-10-15 14:14:32 +0100
commit0ff769aeab32f67308ffea0eb2555fb8b9a90245 (patch)
tree8093ea59170c0e48afd1ce6617f9527f74f398c0
parent42f0fa6f5e4640db75e694f729f4383c88a70905 (diff)
parentc3b324ca6c367805541b4b5410370afb9f5b30b2 (diff)
downloadrabbitmq-server-git-0ff769aeab32f67308ffea0eb2555fb8b9a90245.tar.gz
Merged bug 23403 into default
-rw-r--r--src/rabbit_binding.erl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rabbit_binding.erl b/src/rabbit_binding.erl
index 53c9c66359..1af213c474 100644
--- a/src/rabbit_binding.erl
+++ b/src/rabbit_binding.erl
@@ -426,10 +426,14 @@ merge_entry({X1, Deleted1, Bindings1}, {X2, Deleted2, Bindings2}) ->
process_deletions(Deletions) ->
dict:fold(
fun (_XName, {X = #exchange{ type = Type }, Deleted, Bindings}, ok) ->
- TypeModule = type_to_module(Type),
FlatBindings = lists:flatten(Bindings),
+ [rabbit_event:notify(binding_deleted, info(B)) ||
+ B <- FlatBindings],
+ TypeModule = type_to_module(Type),
case Deleted of
not_deleted -> TypeModule:remove_bindings(X, FlatBindings);
- deleted -> TypeModule:delete(X, FlatBindings)
+ deleted -> rabbit_event:notify(exchange_deleted,
+ [{name, X#exchange.name}]),
+ TypeModule:delete(X, FlatBindings)
end
end, ok, Deletions).