summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_amqqueue_process.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index e6bc71fe..fb2c16c8 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -934,9 +934,13 @@ is_dead_letter_cycle(Queue, Deaths) ->
%% Is there a cycle, and if so, is it entirely due to expiry?
case Rest of
[] -> false;
- [H|_] -> [] =:= [D || {table, D} <- Cycle ++ [H],
- {longstr, <<"expired">>} =/=
- rabbit_misc:table_lookup(D, <<"reason">>)]
+ [H|_] -> lists:all(
+ fun ({table, D}) ->
+ {longstr, <<"expired">>} =:=
+ rabbit_misc:table_lookup(D, <<"reason">>);
+ (_) ->
+ false
+ end, Cycle ++ [H])
end.
make_dead_letter_msg(Msg = #basic_message{content = Content,