From 5bb7a0b0db76a0bf8e96950697650f4b2c07279d Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Thu, 22 Jun 2017 16:58:46 +0300 Subject: Don't let a receiver to crash if a controller is unavailable Fixes #1796 --- src/ejabberd_c2s.erl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/ejabberd_c2s.erl') diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 8f374a44..7cbc16f9 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -67,7 +67,10 @@ start(SockData, Opts) -> case proplists:get_value(supervisor, Opts, true) of true -> - supervisor:start_child(ejabberd_c2s_sup, [SockData, Opts]); + case supervisor:start_child(ejabberd_c2s_sup, [SockData, Opts]) of + {ok, undefined} -> ignore; + Res -> Res + end; _ -> xmpp_stream_in:start(?MODULE, [SockData, Opts], ejabberd_config:fsm_limit_opts(Opts)) -- cgit v1.2.3