summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-11-02 12:41:38 +0000
committerSimon MacMullen <simon@rabbitmq.com>2011-11-02 12:41:38 +0000
commit67bb7dca1b555186046f9327009faa048fade25c (patch)
tree793beb78f24201c38ae31a1cab0033b274d901eb /src
parentc7c658a666649bf84104585078cc595425fb8546 (diff)
downloadrabbitmq-server-git-67bb7dca1b555186046f9327009faa048fade25c.tar.gz
Refactor: don't use a dict when a list will do.
Diffstat (limited to 'src')
-rw-r--r--src/supervisor2.erl12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/supervisor2.erl b/src/supervisor2.erl
index 0e7b71b29d..931a408f93 100644
--- a/src/supervisor2.erl
+++ b/src/supervisor2.erl
@@ -675,8 +675,8 @@ terminate_simple_children(Child, Dynamics, SupName) ->
{{error, Reason}, Timedout}
end
end,
- {dict:append(Pid, Reply, Replies), Timedout1}
- end, {dict:new(), false}, Pids),
+ {[{Pid, Reply} | Replies], Timedout1}
+ end, {[], false}, Pids),
timer:cancel(TRef),
receive
{timeout, Ref} -> ok
@@ -684,11 +684,13 @@ terminate_simple_children(Child, Dynamics, SupName) ->
0 -> ok
end,
ReportError = shutdown_error_reporter(SupName),
- dict:map(fun (_Pid, ok) -> ok;
- (Pid, {error, R}) -> ReportError(R, Child#child{pid = Pid})
- end, Replies),
+ [case Reply of
+ {_Pid, ok} -> ok;
+ {Pid, {error, R}} -> ReportError(R, Child#child{pid = Pid})
+ end || Reply <- Replies],
ok.
+
child_exit_reason(#child{shutdown = brutal_kill}) -> kill;
child_exit_reason(#child{}) -> shutdown.