aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_listener.erl7
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 ->