diff options
| author | Badlop <badlop@process-one.net> | 2009-02-17 09:53:29 +0000 | 
|---|---|---|
| committer | Badlop <badlop@process-one.net> | 2009-02-17 09:53:29 +0000 | 
| commit | e4a3cdb4866bd4988dc60bc9bdf0742de11b71c3 (patch) | |
| tree | 48a800db799b75f7168da70025f2f092f70ae439 /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.erl | 7 | 
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. | 
