Hi <span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255); ">Dan</span>,<div><br></div><div>In the supervisor's child specification, the last element of the tuple should be an array of atoms, which are the names of modules to get reloaded when an update is done (i think). to quote the documentation:</div>
<div><br></div><div> "Modules [the array] is used by the release handler during code replacement to determine which processes are using a certain module. As a rule of thumb Modules should be a list with one element [Module], where Module is the callback module, if the child process is a supervisor, gen_server or gen_fsm. If the child process is an event manager (gen_event) with a dynamic set of callback modules, Modules should be dynamic. See OTP Design Principles for more information about release handling." (from <a href="http://www.erlang.org/doc/man/supervisor.html">http://www.erlang.org/doc/man/supervisor.html</a>)</div>
<div><br></div><div>I hope that's helpful.</div><div><br></div><div>Sam</div><div>--<br>Sam Elliott<br><a href="mailto:sam@lenary.co.uk">sam@lenary.co.uk</a><br>--<br>
<br><br><div class="gmail_quote">On Fri, Jul 29, 2011 at 3:27 PM, Daniel Dormont <span dir="ltr"><<a href="mailto:dan@greywallsoftware.com">dan@greywallsoftware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
While reading through some old discussion here or on TrapExit when I was first trying to understand hot code loading, I ran across the shell command l/1. Since then I've used it to good effect in patching a live system (Ejabberd, specifically) with new or upgraded modules. But I'd like to understand a little better what it's doing behind the scenes. I didn't see any mention of it in the manual, and it's a little hard to Google for single letters :), so I thought I'd ask here.<br>
<br>I also have a more specific question. I have a whole bunch of gen_fsm processes that I *believe* have a common supervisor but I won't swear to it. If I want to upgrade the module, is there a way to institute the code change right away across all those processes?<br>
<br>thanks,<br>Dan<br>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>