diff options
| -rw-r--r-- | src/rabbit_networking.erl | 10 | ||||
| -rw-r--r-- | src/tcp_listener_sup.erl | 21 |
2 files changed, 18 insertions, 13 deletions
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl index 278afbd087..d54e50a1db 100644 --- a/src/rabbit_networking.erl +++ b/src/rabbit_networking.erl @@ -180,12 +180,12 @@ tcp_listener_addresses_auto(Port) -> tcp_listener_spec(NamePrefix, {IPAddress, Port, Family}, SocketOpts, Transport, ProtoSup, ProtoOpts, Protocol, NumAcceptors, Label) -> + Args = [IPAddress, Port, Transport, [Family | SocketOpts], ProtoSup, ProtoOpts, + {?MODULE, tcp_listener_started, [Protocol, SocketOpts]}, + {?MODULE, tcp_listener_stopped, [Protocol, SocketOpts]}, + NumAcceptors, Label], {rabbit_misc:tcp_name(NamePrefix, IPAddress, Port), - {tcp_listener_sup, start_link, - [IPAddress, Port, Transport, [Family | SocketOpts], ProtoSup, ProtoOpts, - {?MODULE, tcp_listener_started, [Protocol, SocketOpts]}, - {?MODULE, tcp_listener_stopped, [Protocol, SocketOpts]}, - NumAcceptors, Label]}, + {tcp_listener_sup, start_link, Args}, transient, infinity, supervisor, [tcp_listener_sup]}. -spec start_tcp_listener( diff --git a/src/tcp_listener_sup.erl b/src/tcp_listener_sup.erl index b0490a0f8d..2d384bb4dc 100644 --- a/src/tcp_listener_sup.erl +++ b/src/tcp_listener_sup.erl @@ -48,11 +48,16 @@ init({IPAddress, Port, Transport, SocketOpts, ProtoSup, ProtoOpts, OnStartup, On {port, Port} | SocketOpts] }, - {ok, {{one_for_all, 10, 10}, [ - ranch:child_spec({acceptor, IPAddress, Port}, - Transport, RanchListenerOpts, - ProtoSup, ProtoOpts), - {tcp_listener, {tcp_listener, start_link, - [IPAddress, Port, - OnStartup, OnShutdown, Label]}, - transient, 16#ffffffff, worker, [tcp_listener]}]}}. + Flags = #{strategy => one_for_all, intensity => 10, period => 10}, + OurChildSpec = #{ + id => tcp_listener, + start => {tcp_listener, start_link, [IPAddress, Port, OnStartup, OnShutdown, Label]}, + restart => transient, + shutdown => 16#ffffffff, + type => worker, + modules => [tcp_listener] + }, + RanchChildSpec = ranch:child_spec({acceptor, IPAddress, Port}, + Transport, RanchListenerOpts, + ProtoSup, ProtoOpts), + {ok, {Flags, [RanchChildSpec, OurChildSpec]}}. |
