From 26b0619b05d36e87849ff249f0e68cf9bfd1d1fd Mon Sep 17 00:00:00 2001
From: Brujo Benavides
Date: Thu, 3 Nov 2016 12:59:27 -0300
Subject: 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)
---
lib/stdlib/doc/src/supervisor.xml | 6 ++++--
system/doc/design_principles/sup_princ.xml | 4 +++-
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 MaxR for intensity
and MaxT for period, then, if more than MaxR
restarts occur within MaxT seconds, the supervisor
- terminates all child processes and then itself. intensity
- defaults to 1 and period defaults to 5.
+ terminates all child processes and then itself. The termination
+ reason for the supervisor itself in that case will be shutdown.
+ intensity defaults to 1 and period defaults to
+ 5.
The type definition of a child specification is as follows:
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, ...}
SupFlags = #{intensity => MaxR, period => MaxT, ...}
If more than MaxR number of restarts occur in the last
MaxT seconds, the supervisor terminates all the child
- processes and then itself.
+ processes and then itself.
+ The termination reason for the supervisor itself in that case will be
+ shutdown.
When the supervisor terminates, then the next higher-level
supervisor takes some action. It either restarts the terminated
supervisor or terminates itself.
--
cgit v1.2.3