summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_exchange.erl11
-rw-r--r--src/rabbit_router.erl15
2 files changed, 2 insertions, 24 deletions
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl
index 6f52dd7c08..8f41392f83 100644
--- a/src/rabbit_exchange.erl
+++ b/src/rabbit_exchange.erl
@@ -341,16 +341,7 @@ delete_transient_forward_routes(Route) ->
ok = mnesia:delete_object(rabbit_route, Route, write).
contains(Table, MatchHead) ->
- try
- continue(mnesia:select(Table, [{MatchHead, [], ['$_']}], 1, read))
- catch exit:{aborted, {badarg, _}} ->
- %% work around OTP-7025, which was fixed in R12B-1, by
- %% falling back on a less efficient method
- case mnesia:match_object(Table, MatchHead, read) of
- [] -> false;
- [_|_] -> true
- end
- end.
+ continue(mnesia:select(Table, [{MatchHead, [], ['$_']}], 1, read)).
continue('$end_of_table') -> false;
continue({[_|_], _}) -> true;
diff --git a/src/rabbit_router.erl b/src/rabbit_router.erl
index a449e19eb4..a6300cc8e6 100644
--- a/src/rabbit_router.erl
+++ b/src/rabbit_router.erl
@@ -137,20 +137,7 @@ match_bindings(Name, Match) ->
mnesia:table(rabbit_route),
ExchangeName == Name,
Match(Binding)]),
- lookup_qpids(
- try
- mnesia:async_dirty(fun qlc:e/1, [Query])
- catch exit:{aborted, {badarg, _}} ->
- %% work around OTP-7025, which was fixed in R12B-1, by
- %% falling back on a less efficient method
- [QName || #route{binding = Binding = #binding{
- queue_name = QName}} <-
- mnesia:dirty_match_object(
- rabbit_route,
- #route{binding = #binding{exchange_name = Name,
- _ = '_'}}),
- Match(Binding)]
- end).
+ lookup_qpids(mnesia:async_dirty(fun qlc:e/1, [Query])).
match_routing_key(Name, RoutingKey) ->
MatchHead = #route{binding = #binding{exchange_name = Name,