aboutsummaryrefslogtreecommitdiffstats
path: root/src/ranch_acceptors_sup.erl
diff options
context:
space:
mode:
authorjuhlig <[email protected]>2020-02-19 11:49:17 +0100
committerLoïc Hoguin <[email protected]>2020-02-21 11:19:36 +0100
commit4b80e31bc48a7fd8552ee34f59de26c790b19ceb (patch)
tree7ab27cf2d116ea2a53424ba45cef7c7d08c3f5c0 /src/ranch_acceptors_sup.erl
parent4ffe0c99114ab7049aa19a3a2c33d662e7cf311d (diff)
downloadranch-4b80e31bc48a7fd8552ee34f59de26c790b19ceb.tar.gz
ranch-4b80e31bc48a7fd8552ee34f59de26c790b19ceb.tar.bz2
ranch-4b80e31bc48a7fd8552ee34f59de26c790b19ceb.zip
Prevent side effects in init of supervisors
Diffstat (limited to 'src/ranch_acceptors_sup.erl')
-rw-r--r--src/ranch_acceptors_sup.erl9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/ranch_acceptors_sup.erl b/src/ranch_acceptors_sup.erl
index 0976a12..f6f26c7 100644
--- a/src/ranch_acceptors_sup.erl
+++ b/src/ranch_acceptors_sup.erl
@@ -28,7 +28,14 @@ init([Ref, Transport, Logger]) ->
TransOpts = ranch_server:get_transport_options(Ref),
NumAcceptors = maps:get(num_acceptors, TransOpts, 10),
NumListenSockets = maps:get(num_listen_sockets, TransOpts, 1),
- LSockets = start_listen_sockets(Ref, NumListenSockets, Transport, TransOpts, Logger),
+ LSockets = case get(lsockets) of
+ undefined ->
+ LSockets1 = start_listen_sockets(Ref, NumListenSockets, Transport, TransOpts, Logger),
+ put(lsockets, LSockets1),
+ LSockets1;
+ LSockets1 ->
+ LSockets1
+ end,
Procs = [begin
LSocketId = (AcceptorId rem NumListenSockets) + 1,
{_, LSocket} = lists:keyfind(LSocketId, 1, LSockets),