summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-10-19 15:21:28 +0100
committerSimon MacMullen <simon@rabbitmq.com>2011-10-19 15:21:28 +0100
commit2b8d7c22b2fbee766e9007065f409b76f0663314 (patch)
tree4aa358d824ea94553962b42a7788de0c90bb0923
parent5675e074ad96c56e8a178cecbbdca3ddf5817d8d (diff)
downloadrabbitmq-server-2b8d7c22b2fbee766e9007065f409b76f0663314.tar.gz
1) Don't even consider alternate exchanges for exchanges with no args.
-rw-r--r--src/rabbit_exchange.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl
index afa48355..b96a2bc8 100644
--- a/src/rabbit_exchange.erl
+++ b/src/rabbit_exchange.erl
@@ -257,6 +257,9 @@ route1(Delivery, {WorkList, SeenXs, QNames}) ->
DstNames))
end.
+%% Optimisation
+process_alternate(#exchange{arguments = []}, []) -> [];
+
process_alternate(#exchange{name = XName, arguments = Args}, []) ->
case rabbit_misc:r_arg(XName, exchange, Args, <<"alternate-exchange">>) of
undefined -> [];