diff options
author | Loïc Hoguin <[email protected]> | 2015-08-25 22:14:48 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2015-08-25 22:14:48 +0200 |
commit | 828ca8939b9f71af4416eff06a453f30ce95ceb3 (patch) | |
tree | 0eba0e8bb074dfdcfbf727f183f446fb3229761d /src | |
parent | 236d0f8eec82eb43c566d4aa6d2532e1318665f3 (diff) | |
download | ranch-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')
-rw-r--r-- | src/ranch_acceptors_sup.erl | 13 |
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}). |