diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2010-10-15 09:07:30 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2010-10-15 09:07:30 +0100 |
| commit | c3b324ca6c367805541b4b5410370afb9f5b30b2 (patch) | |
| tree | 6fd8d9b6f0b71fe8086e677e2a315ffa77ee3344 | |
| parent | b938a532cb876ea98111a3ae165f01596eaa509c (diff) | |
| download | rabbitmq-server-git-c3b324ca6c367805541b4b5410370afb9f5b30b2.tar.gz | |
fire {exchange,binding}_deleted events
| -rw-r--r-- | src/rabbit_binding.erl | 8 |
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). |
