diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ranch.erl | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/ranch.erl b/src/ranch.erl index 85c2c73..ce0c047 100644 --- a/src/ranch.erl +++ b/src/ranch.erl @@ -331,15 +331,13 @@ handshake_result(Result, Ref, Transport, CSocket, Timeout) -> {ok, CSocket2, Info} -> self() ! {handshake_continue, Ref, Transport, CSocket2, Timeout}, {continue, Info}; - {error, {tls_alert, _}} -> - ok = Transport:close(CSocket), - exit(normal); - {error, Reason} when Reason =:= timeout; Reason =:= closed -> - ok = Transport:close(CSocket), - exit(normal); {error, Reason} -> + PeerInfo = case Transport:peername(CSocket) of + {ok, Peer} -> Peer; + {error, _} -> undefined + end, ok = Transport:close(CSocket), - error(Reason) + exit({shutdown, {Reason, PeerInfo}}) end. -spec handshake_cancel(ref()) -> ok. |