summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2014-02-04 16:42:28 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2014-02-04 16:42:28 +0000
commit54b5de37ca389d02045ea8ac7b69836414279aba (patch)
tree8f993a2292f929466a98e42e0bb38041a74d7f7d /src
parentd57b7c85df9518de125644a517e1f91cbc7c0754 (diff)
downloadrabbitmq-server-git-54b5de37ca389d02045ea8ac7b69836414279aba.tar.gz
update_counter--
correctness++ And also re-construct the prefix correctly.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_queue_consumers.erl7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/rabbit_queue_consumers.erl b/src/rabbit_queue_consumers.erl
index 6965984809..ca050f147d 100644
--- a/src/rabbit_queue_consumers.erl
+++ b/src/rabbit_queue_consumers.erl
@@ -270,12 +270,11 @@ subtract_acks([], Prefix, CTagCounts, AckQ) ->
{CTagCounts, queue:join(queue:from_list(lists:reverse(Prefix)), AckQ)};
subtract_acks([T | TL] = AckTags, Prefix, CTagCounts, AckQ) ->
case queue:out(AckQ) of
- {{value, {T, CTag}}, QTail} ->
+ {{value, {T, CTag}}, QTail} ->
subtract_acks(TL, Prefix,
orddict:update_counter(CTag, 1, CTagCounts), QTail);
- {{value, {AT, CTag}}, QTail} ->
- subtract_acks(AckTags, [AT | Prefix],
- orddict:update_counter(CTag, 1, CTagCounts), QTail)
+ {{value, V}, QTail} ->
+ subtract_acks(AckTags, [V | Prefix], CTagCounts, QTail)
end.
possibly_unblock(Update, ChPid, State) ->