summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Watson <tim@rabbitmq.com>2013-04-26 12:39:40 +0100
committerTim Watson <tim@rabbitmq.com>2013-04-26 12:39:40 +0100
commit7475a7a9c18fe421c4c69f80903b5d8986c02741 (patch)
tree2efa95470fe383467dc1cae29825e7072129be0d
parent1b52a408c67351ceb4ae7b6bb3890885520681d9 (diff)
downloadrabbitmq-server-7475a7a9c18fe421c4c69f80903b5d8986c02741.tar.gz
Minor variable renaming, document subtle one_for_all child deletion clauses
-rw-r--r--src/supervisor2.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/supervisor2.erl b/src/supervisor2.erl
index ca219990..3b971739 100644
--- a/src/supervisor2.erl
+++ b/src/supervisor2.erl
@@ -1260,11 +1260,12 @@ state_del_child(Child, State) ->
del_child(Name, [Ch|Chs]) when Ch#child.name =:= Name, Ch#child.restart_type =:= temporary ->
Chs;
-del_child(NameOrPid, [Ch=#child{pid = ?restarting(_)}|_]=Chs)
- when Ch#child.name =:= NameOrPid ->
+del_child(Name, [Ch=#child{pid = ?restarting(_)}|_]=Chs)
+ when Ch#child.name =:= Name ->
Chs;
del_child(Name, [Ch|Chs]) when Ch#child.name =:= Name ->
[Ch#child{pid = undefined} | Chs];
+%% the next two clauses only handle deletions during a one_for_all restart
del_child(Pid, [Ch|Chs]) when Ch#child.pid =:= Pid, Ch#child.restart_type =:= temporary ->
Chs;
del_child(Pid, [Ch|Chs]) when Ch#child.pid =:= Pid ->