diff options
| author | Luke Bakken <lbakken@pivotal.io> | 2019-02-27 09:27:18 -0800 |
|---|---|---|
| committer | Luke Bakken <lbakken@pivotal.io> | 2019-02-27 13:45:27 -0800 |
| commit | dc2a0ab4712a5ecf821b7d19cb5277d860343729 (patch) | |
| tree | 55157e5a0f5139890d386d1975f687533b8ff6ad /src | |
| parent | b9873465666d143bd1fc70a828d417ce48b5b1c3 (diff) | |
| download | rabbitmq-server-git-dc2a0ab4712a5ecf821b7d19cb5277d860343729.tar.gz | |
Ensure resources are cleaned up
Fixes #1901
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_networking.erl | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl index 1935196170..8dcd6cc841 100644 --- a/src/rabbit_networking.erl +++ b/src/rabbit_networking.erl @@ -392,10 +392,16 @@ force_connection_event_refresh(Ref) -> handshake(Ref, ProxyProtocol) -> case ProxyProtocol of true -> - {ok, ProxyInfo} = ranch:recv_proxy_header(Ref, 1000), - {ok, Sock} = ranch:handshake(Ref), - setup_socket(Sock), - {ok, {rabbit_proxy_socket, Sock, ProxyInfo}}; + case ranch:recv_proxy_header(Ref, 1000) of + {error, Error} -> + rabbit_log:error("error when receiving proxy header: ~p", [Error]), + % The following call will clean up resources then exit + should_never_match = ranch:handshake(Ref); + {ok, ProxyInfo} -> + {ok, Sock} = ranch:handshake(Ref), + setup_socket(Sock), + {ok, {rabbit_proxy_socket, Sock, ProxyInfo}} + end; false -> {ok, Sock} = ranch:handshake(Ref), setup_socket(Sock), |
