diff options
| author | Matthias Radestock <matthias@lshift.net> | 2008-12-19 01:36:00 +0000 |
|---|---|---|
| committer | Matthias Radestock <matthias@lshift.net> | 2008-12-19 01:36:00 +0000 |
| commit | 5cd49e65fd1ab3a67810364d08bf734a9748f445 (patch) | |
| tree | 7e3426e4a03974a60a9ba434f7eec5b5e7dac030 /src | |
| parent | 5495e588fd69977a74d89ec2ea8c78b88f0ee308 (diff) | |
| download | rabbitmq-server-git-5cd49e65fd1ab3a67810364d08bf734a9748f445.tar.gz | |
fix bug: make sure consumers blocked due to limit are dropped from State
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_amqqueue_process.erl | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index 702a8aee00..b03887b84a 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -199,7 +199,7 @@ deliver_immediately(Message, Delivered, Delivered, Message, NextId, QName, QEntry, RoundRobinTail, State); {empty, _} -> - not_offered + {not_offered, State} end. % TODO The arity of this function seems a bit large :-( @@ -231,8 +231,8 @@ attempt_delivery(none, Message, State) -> persist_message(none, qname(State), Message), persist_delivery(qname(State), Message, false), {true, State1}; - not_offered -> - {false, State} + {not_offered, State1} -> + {false, State1} end; attempt_delivery(Txn, Message, State) -> persist_message(Txn, qname(State), Message), @@ -367,8 +367,8 @@ run_poke_burst(MessageBuffer, State) -> {offered, false, NewState} -> persist_auto_ack(qname(State), Message), run_poke_burst(BufferTail, NewState); - not_offered -> - State#q{message_buffer = MessageBuffer} + {not_offered, NewState} -> + NewState#q{message_buffer = MessageBuffer} end; {empty, _} -> State#q{message_buffer = MessageBuffer} |
