diff options
author | Emile Joubert <emile@rabbitmq.com> | 2013-10-15 17:17:28 +0100 |
---|---|---|
committer | Emile Joubert <emile@rabbitmq.com> | 2013-10-15 17:17:28 +0100 |
commit | 6fff99b63dcce0ba0ac85eed44cef8414bc70dff (patch) | |
tree | 3f2b76fced92690838dfa493b33bec18cc00770a | |
parent | e3054241a5cfd2182676538f3e7b0614c495e3ba (diff) | |
parent | e393dd30ad938d900c97ac9d27b74717e8acad8c (diff) | |
download | rabbitmq-server-6fff99b63dcce0ba0ac85eed44cef8414bc70dff.tar.gz |
Merged stable into default
-rw-r--r-- | src/rabbit_amqqueue_process.erl | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index 3166c4ab..4ff30ce0 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -267,15 +267,16 @@ recovery_barrier(BarrierPid) -> process_args_policy(State = #q{q = Q, args_policy_version = N}) -> - lists:foldl( - fun({Name, Resolve, Fun}, StateN) -> - Fun(args_policy_lookup(Name, Resolve, Q), StateN) - end, State#q{args_policy_version = N + 1}, - [{<<"expires">>, fun res_min/2, fun init_exp/2}, - {<<"dead-letter-exchange">>, fun res_arg/2, fun init_dlx/2}, - {<<"dead-letter-routing-key">>, fun res_arg/2, fun init_dlx_rkey/2}, - {<<"message-ttl">>, fun res_min/2, fun init_ttl/2}, - {<<"max-length">>, fun res_min/2, fun init_max_length/2}]). + ArgsTable = + [{<<"expires">>, fun res_min/2, fun init_exp/2}, + {<<"dead-letter-exchange">>, fun res_arg/2, fun init_dlx/2}, + {<<"dead-letter-routing-key">>, fun res_arg/2, fun init_dlx_rkey/2}, + {<<"message-ttl">>, fun res_min/2, fun init_ttl/2}, + {<<"max-length">>, fun res_min/2, fun init_max_length/2}], + drop_expired_msgs( + lists:foldl(fun({Name, Resolve, Fun}, StateN) -> + Fun(args_policy_lookup(Name, Resolve, Q), StateN) + end, State#q{args_policy_version = N + 1}, ArgsTable)). args_policy_lookup(Name, Resolve, Q = #amqqueue{arguments = Args}) -> AName = <<"x-", Name/binary>>, @@ -297,8 +298,7 @@ init_exp(Expires, State) -> State1 = init_exp(undefined, State), ensure_expiry_timer(State1#q{expires = Expires}). init_ttl(undefined, State) -> stop_ttl_timer(State#q{ttl = undefined}); -init_ttl(TTL, State) -> State1 = init_ttl(undefined, State), - drop_expired_msgs(State1#q{ttl = TTL}). +init_ttl(TTL, State) -> (init_ttl(undefined, State))#q{ttl = TTL}. init_dlx(undefined, State) -> State#q{dlx = undefined}; |