supervisor:restart_child/2

Lennart Öhman lennart.ohman@REDACTED
Fri Feb 23 16:21:31 CET 2001


Hi everyone!


There are several reasons to this:
1) If the supervisor would count your explicit manipulations,
do you want it to immediately restart a terminated child? Most
often not. Therefore this management must be done outside the
restart intensity.

2) Restarts are only done (and restart intensity exhausted)
by *illegal* terminations. Each child has a permanence (temporary,
transient or permanent) defining when it terminates illegally.
If explicit terminations done through the API shall be counted,
the semantics of illegal terminations must be extended to
cover different types of API initiated terminations.

/Lennart Ohman

>Ulf>
>
>> When I call 
>> 
>> supervisor:terminate_child(ThisSuper, ThatChild),
>> supervisor:restart_child(ThisSuper, ThatChild).
>> 
>> Then the supervisor doesn't count this towards the restart 
>> frequency. That is, I can do this forever, and the supervisor will
>> never escalate.
>




More information about the erlang-questions mailing list