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
commit0dad80ccb953d0444f7432996accfd1195412cab (patch)
tree8093ea59170c0e48afd1ce6617f9527f74f398c0
parentbb031efbe162e845d49b3fb305af777130d142d2 (diff)
parent9d0204505ec91746ae7ad5898346064b6c8ed96f (diff)
downloadrabbitmq-server-0dad80ccb953d0444f7432996accfd1195412cab.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 53c9c663..1af213c4 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).