File otp_src_19.0-lib-stdlib-supervisor-fix-inline.patch of Package erlang

diff -Ndurp otp_src_19.0/lib/stdlib/src/supervisor.erl otp_src_19.0-lib-stdlib-supervisor-fix-inline/lib/stdlib/src/supervisor.erl
--- otp_src_19.0/lib/stdlib/src/supervisor.erl	2016-06-21 16:12:42.000000000 +0300
+++ otp_src_19.0-lib-stdlib-supervisor-fix-inline/lib/stdlib/src/supervisor.erl	2016-06-23 15:03:42.502196344 +0300
@@ -498,7 +498,7 @@ handle_call(which_children, _From, #stat
 							     modules = Mods}]} =
 		State) when ?is_simple(State) ->
     Reply = lists:map(fun(Pid) -> {undefined, Pid, CT, Mods} end,
-                      ?SETS:to_list(dynamics_db(temporary, State#state.dynamics))),
+                      ?SETS:to_list(dynamics_db_temporary(State#state.dynamics))),
     {reply, Reply, State};
 
 handle_call(which_children, _From, #state{children = [#child{restart_type = RType,
@@ -526,7 +526,7 @@ handle_call(which_children, _From, State
 handle_call(count_children, _From, #state{children = [#child{restart_type = temporary,
 							     child_type = CT}]} = State)
   when ?is_simple(State) ->
-    Sz = ?SETS:size(dynamics_db(temporary, State#state.dynamics)),
+    Sz = ?SETS:size(dynamics_db_temporary(State#state.dynamics)),
     Reply = case CT of
 		supervisor -> [{specs, 1}, {active, Sz},
 			       {supervisors, Sz}, {workers, 0}];
@@ -1116,19 +1116,22 @@ save_child(Child, #state{children = Chil
     State#state{children = [Child |Children]}.
 
 save_dynamic_child(temporary, Pid, _, #state{dynamics = Dynamics} = State) ->
-    DynamicsDb = dynamics_db(temporary, Dynamics),
+    DynamicsDb = dynamics_db_temporary(Dynamics),
     State#state{dynamics = {set, ?SETS:add_element(Pid, DynamicsDb)}};
 save_dynamic_child(RestartType, Pid, Args, #state{dynamics = Dynamics} = State) ->
     DynamicsDb = dynamics_db(RestartType, Dynamics),
     State#state{dynamics = {dict, ?DICTS:store(Pid, Args, DynamicsDb)}}.
 
-dynamics_db(temporary, undefined) ->
+dynamics_db_temporary(undefined) ->
     ?SETS:new();
-dynamics_db(_, undefined) ->
-    ?DICTS:new();
-dynamics_db(_, {_Tag, DynamicsDb}) ->
+dynamics_db_temporary({_Tag, DynamicsDb}) ->
     DynamicsDb.
 
+dynamics_db(RType, undefined) when RType =/= temporary ->
+    ?DICTS:new();
+dynamics_db(_, Dynamics) ->
+    dynamics_db_temporary(Dynamics).
+
 dynamic_child_args(_Pid, temporary, _DynamicsDb) ->
     {ok, undefined};
 dynamic_child_args(Pid, _RT, {dict, DynamicsDb}) ->
@@ -1137,7 +1140,7 @@ dynamic_child_args(_Pid, _RT, undefined)
     error.
 
 state_del_child(#child{pid = Pid, restart_type = temporary}, State) when ?is_simple(State) ->
-    NDynamics = ?SETS:del_element(Pid, dynamics_db(temporary, State#state.dynamics)),
+    NDynamics = ?SETS:del_element(Pid, dynamics_db_temporary(State#state.dynamics)),
     State#state{dynamics = {set, NDynamics}};
 state_del_child(#child{pid = Pid, restart_type = RType}, State) when ?is_simple(State) ->
     NDynamics = ?DICTS:erase(Pid, dynamics_db(RType, State#state.dynamics)),
openSUSE Build Service is sponsored by