diff options
author | Henrik Nord <[email protected]> | 2011-08-30 11:28:41 +0200 |
---|---|---|
committer | Henrik Nord <[email protected]> | 2011-08-30 11:28:41 +0200 |
commit | db333803584b17b6f281c974f8f78034be60e010 (patch) | |
tree | 380c5ebb0a684fbc7d6e6a9ffac5641428d250e3 /lib/stdlib/src/supervisor.erl | |
parent | 1a2fbf178614f752f04fd5c7499bb659293adf10 (diff) | |
parent | 25543b7f0be1b87351d616143b5d149b1aed1cea (diff) | |
download | otp-db333803584b17b6f281c974f8f78034be60e010.tar.gz otp-db333803584b17b6f281c974f8f78034be60e010.tar.bz2 otp-db333803584b17b6f281c974f8f78034be60e010.zip |
Merge branch 'dev' into major
Diffstat (limited to 'lib/stdlib/src/supervisor.erl')
-rw-r--r-- | lib/stdlib/src/supervisor.erl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/stdlib/src/supervisor.erl b/lib/stdlib/src/supervisor.erl index 023183c5f0..36cc7f4f4b 100644 --- a/lib/stdlib/src/supervisor.erl +++ b/lib/stdlib/src/supervisor.erl @@ -738,6 +738,13 @@ restart(one_for_all, Child, State) -> terminate_children(Children, SupName) -> terminate_children(Children, SupName, []). +%% Temporary children should not be restarted and thus should +%% be skipped when building the list of terminated children, although +%% we do want them to be shut down as many functions from this module +%% use this function to just clear everything. +terminate_children([Child = #child{restart_type=temporary} | Children], SupName, Res) -> + do_terminate(Child, SupName), + terminate_children(Children, SupName, Res); terminate_children([Child | Children], SupName, Res) -> NChild = do_terminate(Child, SupName), terminate_children(Children, SupName, [NChild | Res]); |