diff options
| author | Matthew Sackman <matthew@rabbitmq.com> | 2011-02-10 17:16:28 +0000 |
|---|---|---|
| committer | Matthew Sackman <matthew@rabbitmq.com> | 2011-02-10 17:16:28 +0000 |
| commit | 3f16737601797b59724cc037449024b1fdd90a32 (patch) | |
| tree | b93736ba40614ea9b1b5dee0a4ffd70007ded2ce /src | |
| parent | 89a2adc676e8ef3deba8b3423878c763d8aca2f5 (diff) | |
| download | rabbitmq-server-git-3f16737601797b59724cc037449024b1fdd90a32.tar.gz | |
The channel.close_ok from the client might be immediately followed by a channel.open. As such we must make sure that we send the channel.open to a new channel
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_reader.erl | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index 4d02657fd4..7fdd8ee63c 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -552,6 +552,9 @@ handle_frame(Type, Channel, Payload, Channel, ChPid, FramingState), put({channel, Channel}, {ChPid, NewAState}), case AnalyzedFrame of + {method, #'channel.close_ok'{}, _} -> + erase({channel, Channel}), + State; {method, MethodName, _} -> case (State#v1.connection_state =:= blocking andalso |
