diff options
author | Tim Watson <tim@rabbitmq.com> | 2013-04-16 15:38:02 +0100 |
---|---|---|
committer | Tim Watson <tim@rabbitmq.com> | 2013-04-16 15:38:02 +0100 |
commit | 0c0b55cbb63bdb3b3f3a6604c8aa5690ef23222c (patch) | |
tree | dca93bdd235ceb9d6398561ab66b7c546eb6a775 | |
parent | 3af08702100e0a7ca293798f5af591c46a03e7d2 (diff) | |
download | rabbitmq-server-0c0b55cbb63bdb3b3f3a6604c8aa5690ef23222c.tar.gz |
rationalise restart handling
-rw-r--r-- | src/supervisor2.erl | 14 |
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). |