diff options
author | juhlig <[email protected]> | 2019-05-06 11:30:20 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2019-05-08 16:36:03 +0200 |
commit | aa64151149e947145728a1f1339c689f1100720e (patch) | |
tree | 7566cb891015cdb29bf1a7a3c9739c049c7e4894 /src/ranch_acceptor.erl | |
parent | 1062b83bf10ea0b62f590c6ff06ec7ee398cfdb8 (diff) | |
download | ranch-aa64151149e947145728a1f1339c689f1100720e.tar.gz ranch-aa64151149e947145728a1f1339c689f1100720e.tar.bz2 ranch-aa64151149e947145728a1f1339c689f1100720e.zip |
Retrieve the conns_sup in the acceptor start function
With the resolution of the pid of a conns_sup in acceptors_sup and thus in
the child spec, a crash of a conns_sup and subsequent crash of the associated
acceptor causes restarts of the acceptor to fail.
Diffstat (limited to 'src/ranch_acceptor.erl')
-rw-r--r-- | src/ranch_acceptor.erl | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/ranch_acceptor.erl b/src/ranch_acceptor.erl index 935ec5c..cb34d75 100644 --- a/src/ranch_acceptor.erl +++ b/src/ranch_acceptor.erl @@ -14,12 +14,13 @@ -module(ranch_acceptor). --export([start_link/4]). +-export([start_link/5]). -export([loop/5]). --spec start_link(inet:socket(), module(), module(), pid()) +-spec start_link(ranch:ref(), non_neg_integer(), inet:socket(), module(), module()) -> {ok, pid()}. -start_link(LSocket, Transport, Logger, ConnsSup) -> +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]), {ok, Pid}. |