diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_exchange.erl | 11 | ||||
| -rw-r--r-- | src/rabbit_router.erl | 15 |
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, |
