Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:19
erlang
otp_src_19.0-lib-stdlib-supervisor-fix-inline.p...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
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)),
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor