diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2011-04-04 17:07:12 +0100 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2011-04-04 17:07:12 +0100 |
| commit | a872473afb85129e7918523e38b08505f3eb5df4 (patch) | |
| tree | 23bdefa1ba53a6d12271cb1932896dd72b5930d3 /src | |
| parent | db1c104916171f05947d98c45235d424f4f9c278 (diff) | |
| download | rabbitmq-server-git-a872473afb85129e7918523e38b08505f3eb5df4.tar.gz | |
Invoke all the create and add_binding callbacks in the same tx.
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_binding.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_exchange.erl | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/rabbit_binding.erl b/src/rabbit_binding.erl index 8c6732f92d..557a8f29a4 100644 --- a/src/rabbit_binding.erl +++ b/src/rabbit_binding.erl @@ -108,6 +108,10 @@ recover(XNames, QNames) -> end, dict:new(), rabbit_durable_route), rabbit_misc:execute_pre_post_mnesia_tx( fun (Tx) -> + [begin + {ok, X} = rabbit_exchange:lookup(XName), + rabbit_exchange:callback(X, create, [Tx, X]) + end|| XName <- XNames], dict:map(fun (XName, Bindings) -> {ok, X} = rabbit_exchange:lookup(XName), rabbit_exchange:callback(X, add_bindings, diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index b39fe32ca7..acbc6c9060 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -91,10 +91,6 @@ recover() -> [_] -> Acc end end, [], rabbit_durable_exchange), - rabbit_misc:execute_pre_post_mnesia_tx( - fun (Tx) -> - [rabbit_exchange:callback(X, create, [Tx, X]) || X <- Xs] - end), [XName || #exchange{name = XName} <- Xs]. callback(#exchange{type = XType}, Fun, Args) -> |
