aboutsummaryrefslogtreecommitdiffstats
path: root/src/ranch_acceptors_sup.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2015-08-25 22:14:48 +0200
committerLoïc Hoguin <[email protected]>2015-08-25 22:14:48 +0200
commit828ca8939b9f71af4416eff06a453f30ce95ceb3 (patch)
tree0eba0e8bb074dfdcfbf727f183f446fb3229761d /src/ranch_acceptors_sup.erl
parent236d0f8eec82eb43c566d4aa6d2532e1318665f3 (diff)
downloadranch-828ca8939b9f71af4416eff06a453f30ce95ceb3.tar.gz
ranch-828ca8939b9f71af4416eff06a453f30ce95ceb3.tar.bz2
ranch-828ca8939b9f71af4416eff06a453f30ce95ceb3.zip
Add an error message when Transport:listen fails
Should be more user friendly.
Diffstat (limited to 'src/ranch_acceptors_sup.erl')
-rw-r--r--src/ranch_acceptors_sup.erl13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/ranch_acceptors_sup.erl b/src/ranch_acceptors_sup.erl
index 5a3e93f..2def6a1 100644
--- a/src/ranch_acceptors_sup.erl
+++ b/src/ranch_acceptors_sup.erl
@@ -32,8 +32,10 @@ init([Ref, NbAcceptors, Transport, TransOpts]) ->
proplists:delete(max_connections,
proplists:delete(shutdown,
proplists:delete(socket, TransOpts))))),
- {ok, Socket} = Transport:listen(TransOpts2),
- Socket;
+ case Transport:listen(TransOpts2) of
+ {ok, Socket} -> Socket;
+ {error, Reason} -> listen_error(Ref, Transport, TransOpts2, Reason)
+ end;
Socket ->
Socket
end,
@@ -45,3 +47,10 @@ init([Ref, NbAcceptors, Transport, TransOpts]) ->
]}, permanent, brutal_kill, worker, []}
|| N <- lists:seq(1, NbAcceptors)],
{ok, {{one_for_one, 10, 10}, Procs}}.
+
+-spec listen_error(any(), module(), any(), atom()) -> no_return().
+listen_error(Ref, Transport, TransOpts2, Reason) ->
+ error_logger:error_msg(
+ "Failed to start Ranch listener ~p in ~p:listen(~p) for reason ~p (~s)~n",
+ [Ref, Transport, TransOpts2, Reason, inet:format_error(Reason)]),
+ exit({listen_error, Ref, Reason}).