From ae84436f7ceed06a09e3fe1afb30e675579b7621 Mon Sep 17 00:00:00 2001 From: juhlig Date: Thu, 20 Jun 2019 14:43:43 +0200 Subject: Fix misplaced monitoring of connection supervisor --- src/ranch_acceptor.erl | 9 +++++++-- 1 file 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 -- cgit v1.2.3