summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2013-12-19 12:12:32 +0000
committerSimon MacMullen <simon@rabbitmq.com>2013-12-19 12:12:32 +0000
commitcd079cd7aa5a78ab4782d79eefa622296a9eb692 (patch)
treecebd6699d699cf17be4ac37d033cceb1cd0eca24 /src
parent861ab0922be69f7394dd7b94651e53502df315c9 (diff)
parentd8f0de1b1d49b95f3aa28f743c8a13f86a3201c8 (diff)
downloadrabbitmq-server-git-cd079cd7aa5a78ab4782d79eefa622296a9eb692.tar.gz
Merge bug25928
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_reader.erl5
-rw-r--r--src/rabbit_writer.erl2
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) ->