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 | 43a62fc9e99894da8bef56e2e3ba536989edf88b (patch) | |
| tree | 5b22c73c8bf05e4eb85d87246744055e55bbcf73 /src | |
| parent | 124d0ac98444b44caab8ed92b16174658f6d1656 (diff) | |
| download | rabbitmq-server-git-43a62fc9e99894da8bef56e2e3ba536989edf88b.tar.gz | |
always monitor queues from which we are (possibly) delivering messages
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 9dbfbdea71..2afc4c3641 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 |
