summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Watson <tim@rabbitmq.com>2013-04-16 15:38:02 +0100
committerTim Watson <tim@rabbitmq.com>2013-04-16 15:38:02 +0100
commit240e6cd841cba670821efc46ab156814cf45174e (patch)
treedca93bdd235ceb9d6398561ab66b7c546eb6a775
parent76c58c073ee011186eabd25c13892eed3e67be13 (diff)
downloadrabbitmq-server-git-240e6cd841cba670821efc46ab156814cf45174e.tar.gz
rationalise restart handling
-rw-r--r--src/supervisor2.erl14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/supervisor2.erl b/src/supervisor2.erl
index 2f2e66926f..533ec99765 100644
--- a/src/supervisor2.erl
+++ b/src/supervisor2.erl
@@ -871,21 +871,13 @@ handle_restart(intrinsic, Reason, Child, State) ->
Reason, Child, State);
handle_restart(temporary, _Reason, Child, State) ->
delete_child_and_continue(Child, State);
-handle_restart({_RestartType, _Delay}=Restart, Reason, Child, State) ->
- handle_delayed_restart(Restart, Reason, Child, State).
-
-handle_delayed_restart({permanent, _Delay}=Restart, Reason, Child, State) ->
- do_restart_delay(Restart, Reason, Child, State);
-handle_delayed_restart({RestartType, _Delay}=Restart, Reason, Child, State)
- when ?is_explicit_restart(Reason) andalso
- (RestartType =:= transient orelse
- RestartType =:= intrinsic) ->
+handle_restart({permanent, _Delay}=Restart, Reason, Child, State) ->
do_restart_delay(Restart, Reason, Child, State);
-handle_delayed_restart({transient, _Delay}=Restart, Reason, Child, State) ->
+handle_restart({transient, _Delay}=Restart, Reason, Child, State) ->
restart_if_explicit_or_abnormal(defer_to_restart_delay(Restart, Reason),
fun delete_child_and_continue/2,
Reason, Child, State);
-handle_delayed_restart({intrinsic, _Delay}=Restart, Reason, Child, State) ->
+handle_restart({intrinsic, _Delay}=Restart, Reason, Child, State) ->
restart_if_explicit_or_abnormal(defer_to_restart_delay(Restart, Reason),
fun delete_child_and_stop/2,
Reason, Child, State).