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 | 240e6cd841cba670821efc46ab156814cf45174e (patch) | |
| tree | dca93bdd235ceb9d6398561ab66b7c546eb6a775 | |
| parent | 76c58c073ee011186eabd25c13892eed3e67be13 (diff) | |
| download | rabbitmq-server-git-240e6cd841cba670821efc46ab156814cf45174e.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 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). |
