From 35f18fd5135385be672a421e5a50a3f2fc29a208 Mon Sep 17 00:00:00 2001 From: Simon MacMullen Date: Wed, 11 Apr 2012 15:47:39 +0100 Subject: Deduplicate routes (needed for sender routing). --- src/rabbit_exchange.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl index 39fccec3..0249155c 100644 --- a/src/rabbit_exchange.erl +++ b/src/rabbit_exchange.erl @@ -246,7 +246,8 @@ info_all(VHostPath, Items) -> map(VHostPath, fun (X) -> info(X, Items) end). route(#exchange{name = #resource{name = <<"">>, virtual_host = VHost}}, #delivery{message = #basic_message{routing_keys = RKs}}) -> QNames = [rabbit_misc:r(VHost, queue, RK) || RK <- RKs], - [QName || #amqqueue{name = QName} <- rabbit_amqqueue:lookup(QNames)]; + lists:usort([QName || #amqqueue{name = QName} + <- rabbit_amqqueue:lookup(QNames)]); route(X = #exchange{name = XName}, Delivery) -> route1(Delivery, {queue:from_list([X]), XName, []}). -- cgit v1.2.1