diff options
Diffstat (limited to '')
-rw-r--r-- | src/ejabberd_listener.erl | 16 |
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). |