diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2012-08-12 13:38:05 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2012-08-12 13:38:05 +0100 |
| commit | b54486dddcdecc1c1aa65ea711c0b08d176ccd10 (patch) | |
| tree | c3c1004b8286552c5ca4a3f5e85a92e314814389 | |
| parent | 80a3ee054d5d41e5fd89627ab158b35915d65303 (diff) | |
| parent | f437e3988da6ab6da476e683506c64212d434153 (diff) | |
| download | rabbitmq-server-git-b54486dddcdecc1c1aa65ea711c0b08d176ccd10.tar.gz | |
merge bug25096 into default
| -rw-r--r-- | src/rabbit_amqqueue_process.erl | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index b4071627ce..6bf290de01 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -717,14 +717,16 @@ drop_expired_messages(State = #q{backing_queue_state = BQS, Now = now_micros(), DLXFun = dead_letter_fun(expired, State), ExpirePred = fun (#message_properties{expiry = Expiry}) -> Now > Expiry end, - case DLXFun of - undefined -> {undefined, BQS1} = BQ:dropwhile(ExpirePred, false, BQS), - BQS1; - _ -> {Msgs, BQS1} = BQ:dropwhile(ExpirePred, true, BQS), - lists:foreach( - fun({Msg, AckTag}) -> DLXFun(Msg, AckTag) end, Msgs), - BQS1 - end, + BQS1 = case DLXFun of + undefined -> {undefined, BQS2} = + BQ:dropwhile(ExpirePred, false, BQS), + BQS2; + _ -> {Msgs, BQS2} = BQ:dropwhile(ExpirePred, true, BQS), + lists:foreach( + fun({Msg, AckTag}) -> DLXFun(Msg, AckTag) end, + Msgs), + BQS2 + end, ensure_ttl_timer(State#q{backing_queue_state = BQS1}). ensure_ttl_timer(State = #q{backing_queue = BQ, |
