<div dir="ltr">Sorry that should be:<div><span style="font-family:arial,sans-serif;font-size:13px">git fetch git://</span><a href="http://github.com/fishcakez/otp.git" target="_blank" style="font-family:arial,sans-serif;font-size:13px">github.com/fishcakez/otp.git</a><span style="font-family:arial,sans-serif;font-size:13px"> fix-supervisor-multi-</span><span style="font-family:arial,sans-serif;font-size:13px">restart</span><br>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 4 April 2013 13:05, James Fish <span dir="ltr"><<a href="mailto:james@fishcakez.com" target="_blank">james@fishcakez.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><br></div><div><span style="font-family:arial,sans-serif;font-size:13px">When a child in a rest_for_one or one_for_all supervisor dies and is then restarted but a child later in the child specification fails to start - so that the restart fails - the restarted child's pid is ignored by the supervisor and is not terminated. The supervisor will then attempt to restart that child again - leaving the unaccounted for process alive!</span></div>

<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><font face="arial, sans-serif">An example of this is available here: </font><a href="https://gist.github.com/fishcakez/5296408" target="_blank">https://gist.github.com/fishcakez/5296408</a></div>

<div><br></div><div>In this patch the supervisor changes the restarting child to the one that failed to start. In the case of one_for_all this means that the successfully restarted child is terminated (along with the other successfully restarted children). In the case of rest_for_one all successfully restarted children remain, and restarting begins with the child that failed to start. Should this be document? The way a rest_for_one handles this case is not documented.</div>

<div><br></div><div>git fetch git://<a href="http://github.com/fishcakez/otp.git" target="_blank">github.com/fishcakez/otp.git</a> fix-server-multi-restart</div><div><br></div><a href="https://github.com/fishcakez/otp/compare/fix-supervisor-multi-restart" target="_blank">https://github.com/fishcakez/otp/compare/fix-supervisor-multi-restart</a><br>

<div><a href="https://github.com/fishcakez/otp/compare/fix-supervisor-multi-restart.patch" target="_blank">https://github.com/fishcakez/otp/compare/fix-supervisor-multi-restart.patch</a><br></div><div><br></div><div>King Regards,</div>

<div>James</div></div>
</blockquote></div><br></div>