aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_listener.erl
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2009-02-17 15:42:22 +0000
committerBadlop <badlop@process-one.net>2009-02-17 15:42:22 +0000
commit74763be4ddf1491c4d41b83748e95317d229b270 (patch)
treecc164327fa7043bd278889de1bc15ab8fb2e5db1 /src/ejabberd_listener.erl
parent* src/ejabberd_listener.erl: More error detections (diff)
* src/ejabberd_listener.erl: More error detections
SVN Revision: 1884
Diffstat (limited to 'src/ejabberd_listener.erl')
-rw-r--r--src/ejabberd_listener.erl20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl
index 56df6d4cd..337267726 100644
--- a/src/ejabberd_listener.erl
+++ b/src/ejabberd_listener.erl
@@ -59,7 +59,6 @@ start_listeners() ->
case start_listener(Port, Module, Opts) of
{ok, _Pid} = R -> R;
{error, Error} ->
- ?ERROR_MSG(Error, []),
throw(Error)
end
end, Ls),
@@ -129,7 +128,7 @@ init(PortIP, Module, Opts1) ->
end,
?ERROR_MSG("Failed to open socket:~n ~p~nReason: ~s",
[{Port, Module, SockOpts}, ReasonT]),
- throw(ReasonT)
+ throw({Reason, PortIP})
end.
%% @spec (PortIP, Opts) -> {Port, IPT, IPS, IPV, OptsClean}
@@ -221,17 +220,12 @@ start_listener(Port, Module, Opts) ->
case start_listener2(Port, Module, Opts) of
{ok, _Pid} = R -> R;
{error, {{'EXIT', {undef, _}}, _} = Error} ->
- EStr = io_lib:format(
- "Error starting the ejabberd listener: ~p.~n"
- "It could not be loaded or is not an ejabberd listener.~n"
- "Error: ~p~n", [Module, Error]),
- {error, lists:flatten(EStr)};
- {error, {already_started, _Pid} = Error} ->
- EStr = io_lib:format(
- "Error starting the ejabberd listener: ~p.~n"
- "A listener is already started in that port number and IP address:~n~p~n"
- "Error: ~p~n", [Module, Port, Error]),
- {error, lists:flatten(EStr)};
+ ?ERROR_MSG("Error starting the ejabberd listener: ~p.~n"
+ "It could not be loaded or is not an ejabberd listener.~n"
+ "Error: ~p~n", [Module, Error]),
+ {error, {module_not_available, Module}};
+ {error, {already_started, Pid}} ->
+ {ok, Pid};
{error, Error} ->
{error, Error}
end.