diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2010-07-02 15:50:45 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2010-07-02 15:50:45 +0100 |
| commit | 71a81b6b80bd9e39a0355a8a86d8906053a48be3 (patch) | |
| tree | ebd49f49b9119dadb664072227ec8a5c30c07069 /src | |
| parent | 5c121848c1198e270dc8153db57b47833a7d626c (diff) | |
| parent | f4b7a1380468081f0b5baa58dba0049111df2c5e (diff) | |
| download | rabbitmq-server-git-71a81b6b80bd9e39a0355a8a86d8906053a48be3.tar.gz | |
merge default into bug22889
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_reader.erl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index e8e6bb19b8..ac586de9f8 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -688,13 +688,14 @@ handle_method0(#'connection.close'{}, State = #v1{connection_state = running}) -> lists:foreach(fun rabbit_framing_channel:shutdown/1, all_channels()), maybe_close(State#v1{connection_state = closing}); -handle_method0(#'connection.close'{}, State = #v1{connection_state = CS, - connection = #connection{ - protocol = Protocol}}) +handle_method0(#'connection.close'{}, + State = #v1{connection_state = CS, + connection = #connection{protocol = Protocol}, + sock = Sock}) when CS =:= closing; CS =:= closed -> %% We're already closed or closing, so we don't need to cleanup %% anything. - ok = send_on_channel0(State#v1.sock, #'connection.close_ok'{}, Protocol), + ok = send_on_channel0(Sock, #'connection.close_ok'{}, Protocol), State; handle_method0(#'connection.close_ok'{}, State = #v1{connection_state = closed}) -> |
