aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_listener.erl
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2003-03-12 19:48:05 +0000
committerAlexey Shchepin <alexey@process-one.net>2003-03-12 19:48:05 +0000
commit8b26ac9e970e5256ec278a0f38656d93e53070c5 (patch)
tree832509e464018adddd46c824622472ec4b20a62c /src/ejabberd_listener.erl
parent* src/cyrsasl*.erl: SASL support (currently support only PLAIN (diff)
* src/ejabberd_s2s_out.erl: Fixed ports leak
* src/ejabberd_listener.erl: Likewise * src/ejabberd_c2s.erl: Fixes for SASL support * src/cyrsasl.erl: Fixes * src/cyrsasl_digest.erl: DIGEST-MD5 SASL mechanism support SVN Revision: 87
Diffstat (limited to 'src/ejabberd_listener.erl')
-rw-r--r--src/ejabberd_listener.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl
index 004ddba38..ffa9cbb17 100644
--- a/src/ejabberd_listener.erl
+++ b/src/ejabberd_listener.erl
@@ -55,8 +55,9 @@ init(Port, Module, Fun, Opts) ->
accept(ListenSocket, Module, Fun, Opts) ->
case gen_tcp:accept(ListenSocket) of
- {ok,Socket} ->
- apply(Module, Fun, [{gen_tcp, Socket}, Opts]),
+ {ok, Socket} ->
+ {ok, Pid} = apply(Module, Fun, [{gen_tcp, Socket}, Opts]),
+ gen_tcp:controlling_process(Socket, Pid),
accept(ListenSocket, Module, Fun, Opts)
end.
@@ -73,7 +74,7 @@ init_ssl(Port, Module, Fun, Opts, SSLOpts) ->
accept_ssl(ListenSocket, Module, Fun, Opts) ->
case ssl:accept(ListenSocket) of
- {ok,Socket} ->
+ {ok, Socket} ->
apply(Module, Fun, [{ssl, Socket}, Opts]),
accept_ssl(ListenSocket, Module, Fun, Opts)
end.