aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ranch.erl12
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.