summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2011-07-19 09:34:19 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2011-07-19 09:34:19 +0100
commit32d89eaeaa509b1a9989050b5cd07ffead0e6da8 (patch)
treed37b9b21ee8b88236738f29034c5eb6f2cfada2b /src
parente8f859942c65517e9708ea34ec84c927f03a126c (diff)
downloadrabbitmq-server-git-32d89eaeaa509b1a9989050b5cd07ffead0e6da8.tar.gz
catch another two reasons
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_channel.erl9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 65905906af..f398fcc59f 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),