[erlang-bugs] terminate_child possible bug

Siri Hansen <>
Mon Sep 5 09:59:10 CEST 2011


I Bruce - could it be that you try to restart a temporary child? This was
earlier possible to do with restart_child, but that functionality has been
removed - from the release note:

Supervisors should not save child-specs for temporary processes when they
terminate as they should not be restarted. Saving the temporary child spec
will result in that you can not start a new temporary process with the same
child spec as an already terminated temporary process. Since R14B02 you can
not restart a temporary temporary process as arguments are no longer saved,
it has however always been semantically incorrect to restart a temporary
process. Thanks to Filipe David Manana for reporting this and suggesting a
solution.
Own Id: OTP-9167 Aux Id: OTP-9064

Supervisors will no longer save start parameters for temporary processes as
they will not be restarted. In the case of simple_one_for_one workers such
as ssl-connection processes this will substantial reduce the memory
footprint of the supervisor.
Own Id: OTP-9064

Regards
/siri

2011/9/2 bruce green <>

> Hi there,
> The sequence of calls
> supervisor:terminate_child/2
> supervisor:restart_child/2
> works in r13b3 and doesn't work in r14b3:
>
> R14b3 gives {error,not_found} as if there is no child specification.
> And yes, there is no child specification when you manually check after
> the terminate_child call.
>
> Is it an erroneous or intentional behaviour?
> --
> BR /Bruce
>
>
> _______________________________________________
> erlang-bugs mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-bugs
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20110905/5f9f6efb/attachment.html>


More information about the erlang-bugs mailing list