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
commit0c0b55cbb63bdb3b3f3a6604c8aa5690ef23222c (patch)
treedca93bdd235ceb9d6398561ab66b7c546eb6a775
parent3af08702100e0a7ca293798f5af591c46a03e7d2 (diff)
downloadrabbitmq-server-0c0b55cbb63bdb3b3f3a6604c8aa5690ef23222c.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 2f2e6692..533ec997 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).