summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/ejabberd_listener.erl16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl
index 9c962be6..309e167d 100644
--- a/src/ejabberd_listener.erl
+++ b/src/ejabberd_listener.erl
@@ -457,11 +457,19 @@ config_reloaded() ->
ok;
{_, OldModule, OldOpts} ->
_ = stop_listener(EndPoint, OldModule, OldOpts),
- ets:insert(?MODULE, {EndPoint, Module, Opts}),
- start_listener(EndPoint, Module, Opts);
+ case start_listener(EndPoint, Module, Opts) of
+ {ok, _} ->
+ ets:insert(?MODULE, {EndPoint, Module, Opts});
+ _ ->
+ ok
+ end;
false ->
- ets:insert(?MODULE, {EndPoint, Module, Opts}),
- start_listener(EndPoint, Module, Opts)
+ case start_listener(EndPoint, Module, Opts) of
+ {ok, _} ->
+ ets:insert(?MODULE, {EndPoint, Module, Opts});
+ _ ->
+ ok
+ end
end
end, New).