diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2022-08-10 18:28:35 +0200 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2022-08-10 18:28:35 +0200 |
commit | e85873873617d3b74e4556da8c30333b48144b09 (patch) | |
tree | f9d8b772d693b17b96a49a5b6f319719bde2c227 /src | |
parent | Update documentation to reflect the GHCR image usage (diff) |
ejabberd_listener: Let module take over socket
For some use cases, it may be necessary to allow a module to take over
socket ownership during initialization.
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_listener.erl | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl index 309e167df..41eec8c1e 100644 --- a/src/ejabberd_listener.erl +++ b/src/ejabberd_listener.erl @@ -318,6 +318,9 @@ start_connection(Module, Arity, Socket, State, Sup) -> supervisor:start_child(Sup, [{gen_tcp, Socket}, State]) end, case Res of + {ok, Pid, preowned_socket} -> + Module:accept(Pid), + {ok, Pid}; {ok, Pid} -> case gen_tcp:controlling_process(Socket, Pid) of ok -> |