diff options
author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-07-19 09:34:19 +0100 |
---|---|---|
committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-07-19 09:34:19 +0100 |
commit | 31cdc2f23f169beff7ba25e64746a0c4f335dd57 (patch) | |
tree | d37b9b21ee8b88236738f29034c5eb6f2cfada2b | |
parent | 1e67cf6b1c5292e0c553983ff6f936724b93359d (diff) | |
download | rabbitmq-server-31cdc2f23f169beff7ba25e64746a0c4f335dd57.tar.gz |
catch another two reasonsbug24273
-rw-r--r-- | src/rabbit_channel.erl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 65905906..f398fcc5 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -1132,10 +1132,13 @@ handle_publishing_queue_down(QPid, Reason, State = #ch{unconfirmed_qm = UQM}) -> %% the set one by one which which would be inefficient State1 = State#ch{unconfirmed_qm = gb_trees:delete_any(QPid, UQM)}, {Nack, SendFun} = - if (Reason =:= noproc orelse Reason =:= nodedown orelse - Reason =:= normal orelse Reason =:= shutdown) -> + case Reason of + Reason when Reason =:= noproc; Reason =:= noconnection; + Reason =:= normal; Reason =:= shutdown -> {false, fun record_confirms/2}; - true -> + {shutdown, _} -> + {false, fun record_confirms/2}; + _ -> {true, fun send_nacks/2} end, {MXs, State2} = process_confirms(MsgSeqNos, QPid, Nack, State1), |