summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2012-12-17 14:05:15 +0000
committerEmile Joubert <emile@rabbitmq.com>2012-12-17 14:05:15 +0000
commitf74b19e40ac726bc7ace43d920282da3e11febc6 (patch)
tree8c82be9678ac6dfd90394b0b97183e6e10deebe1 /src
parentcb05332ae9ed6744d7edfc7c83845b569b59a7b4 (diff)
downloadrabbitmq-server-git-f74b19e40ac726bc7ace43d920282da3e11febc6.tar.gz
Dead-letter persistent messages differently
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue_process.erl7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 922cb6cbcd..86064141d5 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -608,10 +608,7 @@ publish_max(#delivery{message = Message,
{false, _} ->
BQ:publish(Message, Props, Delivered, SenderPid, BQS);
{true, true} ->
- case rabbit_exchange:lookup(XName) of
- {ok, X} -> dead_letter_publish(Message, maxdepth, X, State);
- {error, _} -> ok
- end,
+ (dead_letter_fun(maxdepth))([{Message, undefined}]),
case Confirm of
true -> rabbit_misc:confirm_to_sender(SenderPid, [MsgSeqNo]);
false -> ok
@@ -857,7 +854,7 @@ cleanup_after_confirm(AckTags, State = #q{delayed_stop = DS,
unconfirmed = UC,
backing_queue = BQ,
backing_queue_state = BQS}) ->
- {_Guids, BQS1} = BQ:ack(AckTags, BQS),
+ {_Guids, BQS1} = BQ:ack([Ack || Ack <- AckTags, Ack /= undefined], BQS),
State1 = State#q{backing_queue_state = BQS1},
case dtree:is_empty(UC) andalso DS =/= undefined of
true -> case DS of