diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2012-11-15 15:13:16 +0000 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2012-11-15 15:13:16 +0000 |
commit | f546b647743c8a1ffa311ac9a940992b550ee0d5 (patch) | |
tree | 5b22c73c8bf05e4eb85d87246744055e55bbcf73 /src | |
parent | f1e03821a9b62e1f28ffddf0a4ee4fa31006461b (diff) | |
download | rabbitmq-server-f546b647743c8a1ffa311ac9a940992b550ee0d5.tar.gz |
always monitor queues from which we are (possibly) delivering messagesbug25295
so that stats associated with these queues are cleared out from the
channel's process dictionary when these queues disappear.
Diffstat (limited to 'src')
-rw-r--r-- | src/rabbit_channel.erl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 9dbfbdea..2afc4c36 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -1126,12 +1126,13 @@ consumer_monitor(ConsumerTag, State end. -monitor_delivering_queue(true, _QPid, State) -> - State; -monitor_delivering_queue(false, QPid, State = #ch{queue_monitors = QMons, +monitor_delivering_queue(NoAck, QPid, State = #ch{queue_monitors = QMons, delivering_queues = DQ}) -> State#ch{queue_monitors = pmon:monitor(QPid, QMons), - delivering_queues = sets:add_element(QPid, DQ)}. + delivering_queues = case NoAck of + true -> DQ; + false -> sets:add_element(QPid, DQ) + end}. handle_publishing_queue_down(QPid, Reason, State = #ch{unconfirmed = UC}) -> case rabbit_misc:is_abnormal_exit(Reason) of |