aboutsummaryrefslogtreecommitdiffstats
path: root/src/ranch_acceptors_sup.erl
diff options
context:
space:
mode:
authorJan Uhlig <[email protected]>2021-09-01 12:30:33 +0200
committerJan Uhlig <[email protected]>2021-09-01 12:30:33 +0200
commit4687f74954c1392da30c00f6031a2c99a2933834 (patch)
treeb870e202b480b5c8e6ca12f42bb7a1ea02d0a8d3 /src/ranch_acceptors_sup.erl
parent18816dfb0c3e01467855c0061023548db1655453 (diff)
downloadranch-4687f74954c1392da30c00f6031a2c99a2933834.tar.gz
ranch-4687f74954c1392da30c00f6031a2c99a2933834.tar.bz2
ranch-4687f74954c1392da30c00f6031a2c99a2933834.zip
Add post-listen callback
Diffstat (limited to 'src/ranch_acceptors_sup.erl')
-rw-r--r--src/ranch_acceptors_sup.erl8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ranch_acceptors_sup.erl b/src/ranch_acceptors_sup.erl
index 801fec5..76155b8 100644
--- a/src/ranch_acceptors_sup.erl
+++ b/src/ranch_acceptors_sup.erl
@@ -77,7 +77,13 @@ start_listen_sockets(Ref, NumListenSockets, Transport, TransOpts0, Logger) when
start_listen_socket(Ref, Transport, TransOpts, Logger) ->
case Transport:listen(TransOpts) of
{ok, Socket} ->
- Socket;
+ PostListenCb = maps:get(post_listen_callback, TransOpts, fun (_) -> ok end),
+ case PostListenCb(Socket) of
+ ok ->
+ Socket;
+ {error, Reason} ->
+ listen_error(Ref, Transport, TransOpts, Reason, Logger)
+ end;
{error, Reason} ->
listen_error(Ref, Transport, TransOpts, Reason, Logger)
end.