summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBen Hood <0x6e6562@gmail.com>2008-09-27 16:56:46 +0100
committerBen Hood <0x6e6562@gmail.com>2008-09-27 16:56:46 +0100
commit947fc5d49ef97266128aca44b9fbb811ca5c929b (patch)
treed80775281610c0410dc03e41fc99562e63a10159 /src
parent5f36cce3cc7715fed3d6073e56367fbda0ca75a1 (diff)
downloadrabbitmq-server-git-947fc5d49ef97266128aca44b9fbb811ca5c929b.tar.gz
Fixed bug with fanout routing
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_exchange.erl8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rabbit_exchange.erl b/src/rabbit_exchange.erl
index 9d8aef906c..eebce96a33 100644
--- a/src/rabbit_exchange.erl
+++ b/src/rabbit_exchange.erl
@@ -213,7 +213,13 @@ route(#exchange{name = Name, type = topic}, RoutingKey) ->
topic_matches(BindingKey, RoutingKey)]),
lookup_qpids(mnesia:async_dirty(fun qlc:e/1, [Query]));
-route(#exchange{name = Name}, RoutingKey) ->
+route(X = #exchange{type = fanout}, _) ->
+ route_internal(X, '_');
+
+route(X, RoutingKey) ->
+ route_internal(X, RoutingKey).
+
+route_internal(#exchange{name = Name}, RoutingKey) ->
MatchHead = #route{binding = #binding{exchange_name = Name,
key = RoutingKey,
queue_name = '$1'}},