aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjuhlig <[email protected]>2019-06-20 14:43:43 +0200
committerjuhlig <[email protected]>2019-06-20 14:43:43 +0200
commitae84436f7ceed06a09e3fe1afb30e675579b7621 (patch)
tree6a0d1ff497e71dc7199dc68e4781469629306bf5
parent743808d548ff1051d40dd7f4f74563246919419c (diff)
downloadranch-ae84436f7ceed06a09e3fe1afb30e675579b7621.tar.gz
ranch-ae84436f7ceed06a09e3fe1afb30e675579b7621.tar.bz2
ranch-ae84436f7ceed06a09e3fe1afb30e675579b7621.zip
Fix misplaced monitoring of connection supervisor
-rw-r--r--src/ranch_acceptor.erl9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ranch_acceptor.erl b/src/ranch_acceptor.erl
index 2120788..c90d877 100644
--- a/src/ranch_acceptor.erl
+++ b/src/ranch_acceptor.erl
@@ -15,16 +15,21 @@
-module(ranch_acceptor).
-export([start_link/5]).
+-export([init/4]).
-export([loop/5]).
-spec start_link(ranch:ref(), pos_integer(), inet:socket(), module(), module())
-> {ok, pid()}.
start_link(Ref, AcceptorId, LSocket, Transport, Logger) ->
ConnsSup = ranch_server:get_connections_sup(Ref, AcceptorId),
- MonitorRef = monitor(process, ConnsSup),
- Pid = spawn_link(?MODULE, loop, [LSocket, Transport, Logger, ConnsSup, MonitorRef]),
+ Pid = spawn_link(?MODULE, init, [LSocket, Transport, Logger, ConnsSup]),
{ok, Pid}.
+-spec init(inet:socket(), module(), module(), pid()) -> no_return().
+init(LSocket, Transport, Logger, ConnsSup) ->
+ MonitorRef = monitor(process, ConnsSup),
+ loop(LSocket, Transport, Logger, ConnsSup, MonitorRef).
+
-spec loop(inet:socket(), module(), module(), pid(), reference()) -> no_return().
loop(LSocket, Transport, Logger, ConnsSup, MonitorRef) ->
_ = case Transport:accept(LSocket, infinity) of