File 3148-kernel-Cleanup-some-distr-code.patch of Package erlang
From 765370f797a065120f2fb560bbc9e49c240a4b14 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Thu, 5 Mar 2020 16:20:57 +0100
Subject: [PATCH 08/11] kernel: Cleanup some distr code
Change child specs to more readable maps for example.
---
lib/kernel/src/erl_distribution.erl | 36 ++++++++++++++++++++++++++++--------
lib/kernel/src/net_kernel.erl | 17 ++++++++++-------
2 files changed, 38 insertions(+), 15 deletions(-)
diff --git a/lib/kernel/src/erl_distribution.erl b/lib/kernel/src/erl_distribution.erl
index f07bd351eb..2325a637a2 100644
--- a/lib/kernel/src/erl_distribution.erl
+++ b/lib/kernel/src/erl_distribution.erl
@@ -36,8 +36,12 @@ start_link() ->
%% system has already started.
start(Args) ->
- C = {net_sup_dynamic, {?MODULE,start_link,[Args,false]}, permanent,
- 1000, supervisor, [erl_distribution]},
+ C = #{id => net_sup_dynamic,
+ start => {?MODULE,start_link,[Args,false]},
+ restart => permanent,
+ shutdown => 1000,
+ type => supervisor,
+ modules => [erl_distribution]},
supervisor:start_child(kernel_sup, C).
%% Stop distribution.
@@ -72,14 +76,30 @@ init(NetArgs) ->
[];
_ ->
EpmdMod = net_kernel:epmd_module(),
- [{EpmdMod,{EpmdMod,start_link,[]},
- permanent,2000,worker,[EpmdMod]}]
+ [#{id => EpmdMod,
+ start => {EpmdMod,start_link,[]},
+ restart => permanent,
+ shutdown => 2000,
+ type => worker,
+ modules => [EpmdMod]}]
end,
- Auth = {auth,{auth,start_link,[]},permanent,2000,worker,[auth]},
- Kernel = {net_kernel,{net_kernel,start_link,NetArgs},
- permanent,2000,worker,[net_kernel]},
+ Auth = #{id => auth,
+ start => {auth,start_link,[]},
+ restart => permanent,
+ shutdown => 2000,
+ type => worker,
+ modules => [auth]},
+ Kernel = #{id => net_kernel,
+ start => {net_kernel,start_link,NetArgs},
+ restart => permanent,
+ shutdown => 2000,
+ type => worker,
+ modules => [net_kernel]},
EarlySpecs = net_kernel:protocol_childspecs(),
- {ok,{{one_for_all,0,1}, EarlySpecs ++ Epmd ++ [Auth,Kernel]}}.
+ SupFlags = #{strategy => one_for_all,
+ intensity => 0,
+ period => 1},
+ {ok, {SupFlags, EarlySpecs ++ Epmd ++ [Auth,Kernel]}}.
do_start_link([{Arg,Flag}|T]) ->
case init:get_argument(Arg) of
diff --git a/lib/kernel/src/net_kernel.erl b/lib/kernel/src/net_kernel.erl
index 894bc4f3b1..86fc54f835 100644
--- a/lib/kernel/src/net_kernel.erl
+++ b/lib/kernel/src/net_kernel.erl
@@ -97,7 +97,6 @@
-import(error_logger,[error_msg/2]).
-record(state, {
- name, %% The node name
node, %% The node name including hostname
type, %% long or short names
tick, %% tick information
@@ -360,8 +359,7 @@ init({Name, LongOrShortNames, TickT, CleanHalt}) ->
process_flag(priority, max),
Ticktime = to_integer(TickT),
Ticker = spawn_link(net_kernel, ticker, [self(), Ticktime]),
- {ok, #state{name = Name,
- node = Node,
+ {ok, #state{node = Node,
type = LongOrShortNames,
tick = #tick{ticker = Ticker, time = Ticktime},
connecttime = connecttime(),
@@ -1237,7 +1235,12 @@ disconnect_ctrlr(Ctrlr, State) ->
%% Return a list of all nodes that are 'up' and not hidden.
get_nodes_up_normal() ->
- ets:select(sys_dist, [{#connection{node = '$1', state = up, type = normal, _ = '_'}, [], ['$1']}]).
+ ets:select(sys_dist, [{#connection{node = '$1',
+ state = up,
+ type = normal,
+ _ = '_'},
+ [],
+ ['$1']}]).
ticker(Kernel, Tick) when is_integer(Tick) ->
process_flag(priority, max),
--
2.16.4