diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2011-04-08 17:03:58 +0100 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2011-04-08 17:03:58 +0100 |
| commit | 04c7af27dbf7a697e07afcd7b5bc8025ae24bac2 (patch) | |
| tree | 7359edf810ec9931b506642db5d957e27438ea68 | |
| parent | e252f65938afc8be2987866acb2107420f0c9c1e (diff) | |
| download | rabbitmq-server-git-04c7af27dbf7a697e07afcd7b5bc8025ae24bac2.tar.gz | |
Oops.
| -rw-r--r-- | src/rabbit_binding.erl | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/rabbit_binding.erl b/src/rabbit_binding.erl index 84584a1cce..583d4fa44b 100644 --- a/src/rabbit_binding.erl +++ b/src/rabbit_binding.erl @@ -116,12 +116,14 @@ recover(XNames, QNames) -> mnesia:read({rabbit_semi_durable_route, B}) =/= [] end, fun (R = #route{binding = B = #binding{source = Src}}, Tx) -> - case Tx of - true -> ok = sync_transient_binding(R, fun mnesia:write/3); - false -> ok - end, {ok, X} = rabbit_exchange:lookup(Src), - rabbit_exchange:callback(X, add_binding, [Tx, X, B]) + Serial = case Tx of + true -> ok = sync_transient_binding( + R, fun mnesia:write/3), + transaction; + false -> rabbit_exchange:serial(X) + end, + rabbit_exchange:callback(X, add_binding, [Serial, X, B]) end, rabbit_semi_durable_route), ok. |
