summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2012-04-19 16:19:17 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2012-04-19 16:19:17 +0100
commita656a34b97f863389cd4ba9acc5a39fdb0ef34dc (patch)
tree3a0841e382e03d9a2a320e1a246ec10617e5e84b
parent026e68eef57bcc9905dda740664be393493d7795 (diff)
downloadrabbitmq-server-bug24863.tar.gz
In general, avoid unnecessary interleaving of mutating statebug24863
-rw-r--r--src/rabbit_amqqueue_process.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 0703bffc..07c86672 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -1237,9 +1237,9 @@ handle_cast({reject, AckTags, Requeue, ChPid}, State) ->
true ->
fun (State1) -> requeue_and_run(AckTags, State1) end;
false ->
- Fun = dead_letter_fun(rejected, State),
fun (State1 = #q{backing_queue = BQ,
backing_queue_state = BQS}) ->
+ Fun = dead_letter_fun(rejected, State1),
BQS1 = BQ:fold(Fun, BQS, AckTags),
ack_if_no_dlx(
AckTags, State1#q{backing_queue_state = BQS1})