summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2012-08-12 11:30:33 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2012-08-12 11:30:33 +0100
commitffcd9f37bda544fdfd03e5283165e8295ff55d6e (patch)
treee1c4ade40091265b4df8c9230988a423a57c4b23
parentec944b2e6671f93b4ba6ec460122373b33418b14 (diff)
downloadrabbitmq-server-ffcd9f37bda544fdfd03e5283165e8295ff55d6e.tar.gz
don't rely on evil erlang scoping
-rw-r--r--src/rabbit_amqqueue_process.erl18
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,