]> granicus.if.org Git - ejabberd/commitdiff
* src/ejabberd_listener.erl: More error detections
authorBadlop <badlop@process-one.net>
Tue, 17 Feb 2009 09:53:29 +0000 (09:53 +0000)
committerBadlop <badlop@process-one.net>
Tue, 17 Feb 2009 09:53:29 +0000 (09:53 +0000)
SVN Revision: 1883

ChangeLog
src/ejabberd_listener.erl

index c3562c7173ff2a687960de2770655e4703452c62..42971543c40f5c95aacd696f9bb99a636abd2866 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-02-17  Badlop  <badlop@process-one.net>
+
+       * src/ejabberd_listener.erl: More error detections
+
 2009-02-16  Badlop  <badlop@process-one.net>
 
        * src/ejabberd_config.erl: Check certfiles are readable on server
index df3e343d8e833a3b14d6b4cc46f0de0fcc15c6e8..56df6d4cda28ed75769e81ab1e71e45a0453c8e3 100644 (file)
@@ -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.