diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2012-08-12 11:30:33 +0100 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2012-08-12 11:30:33 +0100 |
commit | ffcd9f37bda544fdfd03e5283165e8295ff55d6e (patch) | |
tree | e1c4ade40091265b4df8c9230988a423a57c4b23 | |
parent | ec944b2e6671f93b4ba6ec460122373b33418b14 (diff) | |
download | rabbitmq-server-ffcd9f37bda544fdfd03e5283165e8295ff55d6e.tar.gz |
don't rely on evil erlang scoping
-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 b4071627..6bf290de 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, |