aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ranch_ssl.erl8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ranch_ssl.erl b/src/ranch_ssl.erl
index f3a669d..29e72f4 100644
--- a/src/ranch_ssl.erl
+++ b/src/ranch_ssl.erl
@@ -96,6 +96,14 @@ accept_ack(CSocket, Timeout) ->
case ssl:ssl_accept(CSocket, Timeout) of
ok ->
ok;
+ %% Garbage was most likely sent to the socket, don't error out.
+ {error, {tls_alert, _}} ->
+ ok = close(CSocket),
+ exit(normal);
+ %% Socket most likely stopped responding, don't error out.
+ {error, timeout} ->
+ ok = close(CSocket),
+ exit(normal);
{error, Reason} ->
ok = close(CSocket),
error(Reason)