diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_listener.erl | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl index f371ae7bc..64db7e4df 100644 --- a/src/ejabberd_listener.erl +++ b/src/ejabberd_listener.erl @@ -307,7 +307,12 @@ start_connection(Module, Arity, Socket, State, Sup) -> Module:accept(Pid), {ok, Pid}; Err -> - exit(Pid, kill), + case Sup of + undefined -> + exit(Pid, kill); + _ -> + supervisor:terminate_child(Sup, Pid) + end, Err end; Err -> |