diff options
| -rw-r--r-- | src/rabbit_channel.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_reader.erl | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index c9714c3def..d87dc5d108 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -245,7 +245,10 @@ handle_call(_Request, _From, State) -> noreply(State). handle_cast({method, Method, Content}, State = #ch{conn_pid = Conn}) -> - rabbit_flow:ack(Conn), + case Content of + none -> ok; + _ -> rabbit_flow:ack(Conn) + end, try handle_method(Method, Content, State) of {reply, Reply, NewState} -> ok = rabbit_writer:send_command(NewState#ch.writer_pid, Reply), diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index f22b6b940c..22d238a5cf 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -923,8 +923,7 @@ send_to_new_channel(Channel, AnalyzedFrame, State) -> process_channel_frame(Frame, ErrPid, Channel, ChPid, AState) -> case rabbit_command_assembler:process(Frame, AState) of {ok, NewAState} -> NewAState; - {ok, Method, NewAState} -> rabbit_flow:send(ChPid), - rabbit_channel:do(ChPid, Method), + {ok, Method, NewAState} -> rabbit_channel:do(ChPid, Method), NewAState; {ok, Method, Content, NewAState} -> rabbit_flow:send(ChPid), rabbit_channel:do(ChPid, |
