aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2009-02-17 09:53:29 +0000
committerBadlop <badlop@process-one.net>2009-02-17 09:53:29 +0000
commite4a3cdb4866bd4988dc60bc9bdf0742de11b71c3 (patch)
tree48a800db799b75f7168da70025f2f092f70ae439 /src
parent* src/ejabberd_config.erl: Check certfiles are readable on server (diff)
* src/ejabberd_listener.erl: More error detections
SVN Revision: 1883
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_listener.erl7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl
index df3e343d8..56df6d4cd 100644
--- a/src/ejabberd_listener.erl
+++ b/src/ejabberd_listener.erl
@@ -124,6 +124,7 @@ init(PortIP, Module, Opts1) ->
{error, Reason} ->
ReasonT = case Reason of
eaddrnotavail -> "IP address not available: " ++ IPS;
+ eaddrinuse -> "IP address and port number already used: "++IPS++" "++integer_to_list(Port);
_ -> atom_to_list(Reason)
end,
?ERROR_MSG("Failed to open socket:~n ~p~nReason: ~s",
@@ -225,6 +226,12 @@ start_listener(Port, Module, Opts) ->
"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, Error} ->
{error, Error}
end.