aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrujo Benavides <[email protected]>2016-11-03 12:59:27 -0300
committerBrujo Benavides <[email protected]>2016-11-15 09:28:39 -0300
commit26b0619b05d36e87849ff249f0e68cf9bfd1d1fd (patch)
treed25fc52f4ff8e908aa677dbe6e592543a7f7bb86
parent214aba4561eb09020379cb4d7da7e6fffe2873ab (diff)
downloadotp-26b0619b05d36e87849ff249f0e68cf9bfd1d1fd.tar.gz
otp-26b0619b05d36e87849ff249f0e68cf9bfd1d1fd.tar.bz2
otp-26b0619b05d36e87849ff249f0e68cf9bfd1d1fd.zip
Expand on the behavior of supervisors
Add additional details on the behavior of supervisors when reaching maximum restart intensity, as stated by @rvirding at [Medium](https://goo.gl/XhwpSL)
-rw-r--r--lib/stdlib/doc/src/supervisor.xml6
-rw-r--r--system/doc/design_principles/sup_princ.xml4
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/stdlib/doc/src/supervisor.xml b/lib/stdlib/doc/src/supervisor.xml
index 294196f746..bb06d3645e 100644
--- a/lib/stdlib/doc/src/supervisor.xml
+++ b/lib/stdlib/doc/src/supervisor.xml
@@ -133,8 +133,10 @@ sup_flags() = #{strategy => strategy(), % optional
map. Assuming the values <c>MaxR</c> for <c>intensity</c>
and <c>MaxT</c> for <c>period</c>, then, if more than <c>MaxR</c>
restarts occur within <c>MaxT</c> seconds, the supervisor
- terminates all child processes and then itself. <c>intensity</c>
- defaults to <c>1</c> and <c>period</c> defaults to <c>5</c>.</p>
+ terminates all child processes and then itself. The termination
+ reason for the supervisor itself in that case will be <c>shutdown</c>.
+ <c>intensity</c> defaults to <c>1</c> and <c>period</c> defaults to
+ <c>5</c>.</p>
<marker id="child_spec"/>
<p>The type definition of a child specification is as follows:</p>
diff --git a/system/doc/design_principles/sup_princ.xml b/system/doc/design_principles/sup_princ.xml
index 0a24e97950..c24177d842 100644
--- a/system/doc/design_principles/sup_princ.xml
+++ b/system/doc/design_principles/sup_princ.xml
@@ -163,7 +163,9 @@ SupFlags = #{strategy => Strategy, ...}</code>
SupFlags = #{intensity => MaxR, period => MaxT, ...}</code>
<p>If more than <c>MaxR</c> number of restarts occur in the last
<c>MaxT</c> seconds, the supervisor terminates all the child
- processes and then itself.</p>
+ processes and then itself.
+ The termination reason for the supervisor itself in that case will be
+ <c>shutdown</c>.</p>
<p>When the supervisor terminates, then the next higher-level
supervisor takes some action. It either restarts the terminated
supervisor or terminates itself.</p>