aboutsummaryrefslogtreecommitdiffstats
path: root/src/ranch_ssl.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2012-08-06 14:23:16 +0200
committerLoïc Hoguin <[email protected]>2012-08-06 14:23:16 +0200
commiteabb029895c8345ccedc41ed28a023d0e75c7e0e (patch)
tree781eff89e48b702c2b3f9f0e62f0366c3dfe08ae /src/ranch_ssl.erl
parent6b354c1124035c54b6648665aafbe7197b34bd0e (diff)
downloadranch-eabb029895c8345ccedc41ed28a023d0e75c7e0e.tar.gz
ranch-eabb029895c8345ccedc41ed28a023d0e75c7e0e.tar.bz2
ranch-eabb029895c8345ccedc41ed28a023d0e75c7e0e.zip
Check the accept/2 return value for errors
Distinguish the errors from transport_accept and ssl_accept in ranch_ssl. {error, closed} for the first one means the listening socket got closed; for the second one it means the connection socket was. Ignore all errors except when the listening socket got closed, where we want to crash to allow opening the socket again.
Diffstat (limited to 'src/ranch_ssl.erl')
-rw-r--r--src/ranch_ssl.erl6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ranch_ssl.erl b/src/ranch_ssl.erl
index 51ea128..d85c05f 100644
--- a/src/ranch_ssl.erl
+++ b/src/ranch_ssl.erl
@@ -111,7 +111,7 @@ listen(Opts) ->
%% @see ssl:transport_accept/2
%% @see ssl:ssl_accept/2
-spec accept(ssl:sslsocket(), timeout())
- -> {ok, ssl:sslsocket()} | {error, closed | timeout | atom()}.
+ -> {ok, ssl:sslsocket()} | {error, closed | timeout | atom() | tuple()}.
accept(LSocket, Timeout) ->
case ssl:transport_accept(LSocket, Timeout) of
{ok, CSocket} ->
@@ -179,11 +179,11 @@ require([App|Tail]) ->
require(Tail).
-spec ssl_accept(ssl:sslsocket(), timeout())
- -> {ok, ssl:sslsocket()} | {error, closed | timeout | atom()}.
+ -> {ok, ssl:sslsocket()} | {error, {ssl_accept, atom()}}.
ssl_accept(Socket, Timeout) ->
case ssl:ssl_accept(Socket, Timeout) of
ok ->
{ok, Socket};
{error, Reason} ->
- {error, Reason}
+ {error, {ssl_accept, Reason}}
end.