From 828ca8939b9f71af4416eff06a453f30ce95ceb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 25 Aug 2015 22:14:48 +0200 Subject: Add an error message when Transport:listen fails Should be more user friendly. --- src/ranch_acceptors_sup.erl | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/ranch_acceptors_sup.erl') 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}). -- cgit v1.2.3