diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2013-12-19 12:12:32 +0000 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2013-12-19 12:12:32 +0000 |
| commit | cd079cd7aa5a78ab4782d79eefa622296a9eb692 (patch) | |
| tree | cebd6699d699cf17be4ac37d033cceb1cd0eca24 | |
| parent | 861ab0922be69f7394dd7b94651e53502df315c9 (diff) | |
| parent | d8f0de1b1d49b95f3aa28f743c8a13f86a3201c8 (diff) | |
| download | rabbitmq-server-git-cd079cd7aa5a78ab4782d79eefa622296a9eb692.tar.gz | |
Merge bug25928
| -rw-r--r-- | src/rabbit_reader.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_writer.erl | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index 46c5c42a45..52127300d5 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -806,7 +806,10 @@ handle_method0(MethodName, FieldsBin, try handle_method0(Protocol:decode_method_fields(MethodName, FieldsBin), State) - catch exit:#amqp_error{method = none} = Reason -> + catch throw:{writer_inet_error, closed} -> + maybe_emit_stats(State), + throw(connection_closed_abruptly); + exit:#amqp_error{method = none} = Reason -> handle_exception(State, 0, Reason#amqp_error{method = MethodName}); Type:Reason -> Stack = erlang:get_stacktrace(), diff --git a/src/rabbit_writer.erl b/src/rabbit_writer.erl index 34dd3d3b35..92d48e633f 100644 --- a/src/rabbit_writer.erl +++ b/src/rabbit_writer.erl @@ -272,7 +272,7 @@ assemble_frames(Channel, MethodRecord, Content, FrameMax, Protocol) -> [MethodFrame | ContentFrames]. tcp_send(Sock, Data) -> - rabbit_misc:throw_on_error(inet_error, + rabbit_misc:throw_on_error(writer_inet_error, fun () -> rabbit_net:send(Sock, Data) end). internal_send_command(Sock, Channel, MethodRecord, Protocol) -> |
